C++ dll 结构体中的二维数组 转为C#

13 篇文章 0 订阅
12 篇文章 0 订阅
C/C++ code

#define MAX_STRM_LAYER 3 // 最多几级流媒体//服务器信息typedef struct tagServerInfo{

long uID;

char csStrMIP[MAX_STRM_LAYER][16]; // 这个不知道如何转换

unsigned short nStrMPort[MAX_STRM_LAYER];

char csDdtIP[16];

unsigned short nDdtPort; 

unsigned short bIsWebUser;  

unsigned short protocolType;  

constchar*pcUserName;  

constchar*pcPassword;  

char csStoreFileSvrIP[16];  

unsigned short nStoreFileSvrPort;  

char csDevFileSvrIP[16];  

unsigned short nDevFileSvrPort;  

}TServerInfo, *LPServerInfo;

LONG __stdcall StrM_Login(LPServerInfo mts, int iLayer =1);

C#code

///<summary>

    /// 最多几级流媒体

    ///</summary>

    public const int MAX_STRM_LAYER =3;  

     

    ///<summary>

    /// 服务器信息       

    /// </summary>        

    [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]       

    public struct TServerInfo 

    {          

        public int uID; 

        

        [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst =3*16)] 

        public char[] csStrMIP;

        

        [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst =3)] 

        public ushort[] nStrMPort;  

         

        [MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst =16)]          

        public string csDdtIP;   

       

        public ushort nDdtPort;           

        public ushort bIsWebUser;         

        public ushort protocolType;           

        public string pcUserName;           

        public string pcPassword;    

     

        [MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst =16)]          

        public string csStoreFileSvrIP;          

        public ushort nStoreFileSvrPort;  

        

        [MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst =16)]        

        public string csDevFileSvrIP;           

        public ushort nDevFileSvrPort;    

    }

    

 

    [DllImport("StreamMedia.dll")]       

    public static extern int StrM_Login(ref TServerInfo mts, int iLayer);    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值