Re: 問 MFC 和 C# data type的問題 ?

看板Programming作者 (暗黑貴公子)時間18年前 (2006/06/20 18:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《mystify.bbs@bbs.nchu.edu.tw (放牧中 ~~)》之銘言: : 我用 C# 引入一個 MFC寫的 dll , : 這個 函式在 MFC 中的原型是這樣的 : : DWORD ProductString(DWORD, LPVOID S); : 請問各位大大 , 我再引入時, LPVOID 這個型態我在 C# 中要用哪一個型態呢 ? 請用 IntPtr 型別 : [DllImport(CPDll, SetLastError = true, CharSet = CharSet.Auto)] : internal static extern uint : ProductString(ulong _NumDevices, (這邊要怎麼寫) DString); ProductString(ulong _NumDevices, IntPtr DString); --- 底下是 MS$ C/C++ <-> MS$ C# 型別轉換對照表 ┌─────────────────┬──────────────────┐ │MS$ C/C++ │MS$ C# │ ├─────────────────┼──────────────────┤ │HANDLE, LPDWORD, LPVOID, void* │IntPtr │ ├─────────────────┼──────────────────┤ │LPCTSTR, LPCTSTR, LPSTR, char* │String [in] │ │const char*, Wchar_t*, LPWSTR │StringBuilder [in, out] │ ├─────────────────┼──────────────────┤ │DWORD, unsigned long, Ulong │UInt32,[MarshalAs(UnmanagedType.U4)]│ ├─────────────────┼──────────────────┤ │bool │bool │ ├─────────────────┼──────────────────┤ │LP<struct> │[In] ref <struct> │ ├─────────────────┼──────────────────┤ │SIZE_T │uint │ ├─────────────────┼──────────────────┤ │LPDWORD │out uint │ ├─────────────────┼──────────────────┤ │LPTSTR │[Out] StringBuilder │ ├─────────────────┼──────────────────┤ │PULARGE_INTEGER │out ulong │ ├─────────────────┼──────────────────┤ │WORD │uInt16 │ ├─────────────────┼──────────────────┤ │Byte, unsigned char │byte │ ├─────────────────┼──────────────────┤ │Short │Int16 │ ├─────────────────┼──────────────────┤ │Long, int │Int32 │ ├─────────────────┼──────────────────┤ │float │single │ ├─────────────────┼──────────────────┤ │double │double │ ├─────────────────┼──────────────────┤ │NULL pointer │IntPtr.Zero │ ├─────────────────┼──────────────────┤ │Uint │Uint32 │ └─────────────────┴──────────────────┘ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.67.4.232
文章代碼(AID): #14bypFEo (Programming)
討論串 (同標題文章)
文章代碼(AID): #14bypFEo (Programming)