typedef enum tagVIDEO_FORMAT {
YUV422 = 0,
RGB888 = 1,
RGB565 = 2,
RGB555 = 3,
RGB8888 = 4,
ALL8BIT = 5,
LIMITED8BIT = 6
} VIDEO_FORMAT;#define CG_MESSAGE(status) \
if((status) != CG_OK){ \
::MessageBox(NULL, CGGetErrorString(status), \
"Error message", MB_ICONWARNING | MB_OK); \
}
typedef struct tagCMD_RESERVED0_PARAM {
BYTE *pPrevParam;
DWORD PrevParamLen;
BYTE *pParam;
DWORD ParamLen;
} CMD_RESERVED0_PARAM;
像上面的三种情况如何转换成c#中的形式?
望高手指点!
YUV422 = 0,
RGB888 = 1,
RGB565 = 2,
RGB555 = 3,
RGB8888 = 4,
ALL8BIT = 5,
LIMITED8BIT = 6
} VIDEO_FORMAT;#define CG_MESSAGE(status) \
if((status) != CG_OK){ \
::MessageBox(NULL, CGGetErrorString(status), \
"Error message", MB_ICONWARNING | MB_OK); \
}
typedef struct tagCMD_RESERVED0_PARAM {
BYTE *pPrevParam;
DWORD PrevParamLen;
BYTE *pParam;
DWORD ParamLen;
} CMD_RESERVED0_PARAM;
像上面的三种情况如何转换成c#中的形式?
望高手指点!
enum tagVIDEO_FORMAT {
YUV422 = 0,
RGB888 = 1,
RGB565 = 2,
RGB555 = 3,
RGB8888 = 4,
ALL8BIT = 5,
LIMITED8BIT = 6
}
struct tagCMD_RESERVED0_PARAM {
byte[] pPrevParam;
uint PrevParamLen;
byte[] pParam;
uint ParamLen;
}
至于这个
#define CG_MESSAGE(status) \
if((status) != CG_OK){ \
::MessageBox(NULL, CGGetErrorString(status), \
"Error message", MB_ICONWARNING | MB_OK); \
} 定义了一个检测结构是否是 ==CG_OK但是不知道CG_OK具体定义,所以无法帮你改了.
if((status) != CG_OK)
MessageBox.Show(CGGetErrorString(status), "Error message", MB_ICONWARNING | MB_OK);
} 在这个基础上改就可以了,反正它替代的是一个方法
typedef unsigned ( __stdcall * PTHREAD_START)( void * );
typedef int (CALLBACK* SNAP_PROC)(SNAP_INFO *pInfo);
大家看这两句是什么意思啊?
我从未见过啊
delegate uint PTHREAD_START(Object o);
delegate int SNAP_PROC(ref SNAP_INFO pInfo);