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#中的形式?
望高手指点!

解决方案 »

  1.   


    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具体定义,所以无法帮你改了.
      

  2.   

            void CG_MESSAGE(status)         {
                if((status) != CG_OK)
             MessageBox.Show(CGGetErrorString(status), "Error message", MB_ICONWARNING | MB_OK); 
            }  在这个基础上改就可以了,反正它替代的是一个方法
      

  3.   


    typedef unsigned ( __stdcall * PTHREAD_START)( void * );
    typedef int (CALLBACK* SNAP_PROC)(SNAP_INFO *pInfo);
    大家看这两句是什么意思啊?
    我从未见过啊
      

  4.   

    这两行是定义函数指针类型,类似于委托:
    delegate uint PTHREAD_START(Object o);
    delegate int SNAP_PROC(ref SNAP_INFO pInfo);