2011-10-19 25 views
0

既存の静的Cライブラリを中心にC++/CLI Wrapperの開発を開始する必要があります。私はCライブラリの列挙型、型定義、構造体の数に遭遇しました。私はC++/CLIの初心者であるため、C++/CLIで使用できるデータ型を知りたいと思っていました。C++/CLIでのC/C++データ型のマッピング

typedef struct _GC_DEVICE { 
    TCHAR *ptszDevicePath; 

    /// The human-readable name of the device. 
    /// This member is never NULL. 
    TCHAR *ptszFriendlyName; 

    //Device Type 
    GC_DEVICE_TYPE DeviceType; 

    /// USB related information about the camera. 
    GC_USB_DEVICE_INFO USBDevInfo; 

} GC_DEVICE,*PGC_DEVICE; 

enum GC_DEVICE_TYPE { 
    GC_USB_DEVICE, 
    GC_IP_DEVICE, 
    GC_DEPTH_SENSING_DEVICE, 
}; 

typedef struct _GC_USB_DEVICE_INFO { 
    /// The vendor ID. 
    WORD wVendor; 
    /// The product ID. 
    WORD wProduct; 
    /// The product revision number. 
    WORD wRelease; 
} GC_USB_DEVICE_INFO, *PGC_USB_DEVICE_INFO; 

C++/CLIでこれらの宣言を変換できますか?

+0

なぜC++/CLIを使用していますか?なぜC#P/Invokeを使用しないのですか? – Simon

+0

@Simon:その静的Cライブラリ、だから私はC#P/InvokeはDll専用だと思う。 –

答えて

0
ref class GCDeviceWrapper 
{ 
public: 
    // operations with the GC_DEVICE instance 

private: 
    GC_DEVICE device_; 
}; 
関連する問題