c#调用c++代码

c++代码定义


typedef struct stPlay

{

HWNDwndPlay;//播放窗口句柄

boolbAudio;//是否播放音频,现在只能播放一路音频

PlayType类型;//播放类型


//只为净玩了。

TransmissionType eTranType;//数据传输类型,0-UDP, 1-TCP

charurl [260];//RTSP URL或本地文件路径

charszUser[64];//用户名

charszPassward[64];//密码

charszFileName[512];//播放和下载,下载用全路径比如D: \ \ picuture.mpg


} stPlay;


c#代码定义


,,公共struct stPlay

,,{

,,,,公共IntPtr wndPlay;//播放窗口句柄

,,,,公共bool bAudio;//是否播放音频,现在只能播放一路音频

,,,,公共PlayType类型;//播放类型

,,,,公共TransmissionType eTranType;

,,,

,,,,[MarshalAs UnmanagedType。ByValTStr SizeConst=260)]

,,,,公共字符串url;,,,//RTSP URL或本地文件路径,,,,


,,,,[MarshalAs UnmanagedType。ByValTStr SizeConst=64)]

,,,,公共字符串szUser;,,,//用户名


,,,,[MarshalAs UnmanagedType。ByValTStr SizeConst=64)]

,,,,公共字符串szPassward;,,,//密码


,,,,[MarshalAs UnmanagedType。ByValTStr SizeConst=512)]

,,,,公共字符串文件名;

,,,,

,,}


为了能够指定字符串的长度,必须调用[MarshalAs UnmanagedType。ByValTStr, SizeConst=512)],

否则默认情况下,文件名的长度可能只有32个字节,导致传输数据失败


c#调用c++代码