C#调用DLL文件时参数对应表
Wtypes.h 中的非托管类型 非托管 C 语言类型 托管类名 说明 HANDLE void* System.IntPtr 32 位 BYTE unsigned char System.Byte 8 位 SHORT short System.Int16 16 位 WORD unsigned short System.UInt16 16 位 INT int System.Int32 32 位 UINT unsigned int System.UInt32 32 位 LONG long System.Int32 32 位 BOOL long System.Int32 32 位 DWORD unsigned long System.UInt32 32 位 ULONG unsigned long System.UInt32 32 位 CHAR char System.Char 用 ANSI 修饰。 LPSTR char* System.String 或 System.StringBuilder 用 ANSI 修饰。 LPCSTR Const char* System.String 或 System.StringBuilder 用 ANSI 修饰。 LPWSTR wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。 LPCWSTR Const wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。 FLOAT Float System.Single 32 位 DOUBLE Double System.Double 64 位
API与C#的数据类型对应关系表 | |||||
API数据类型 |
类型描述 |
C#类型 |
API数据类型 |
类型描述 |
C#类型 |
WORD |
16位无符号整数 |
ushort |
CHAR |
字符 |
char |
LONG |
32位无符号整数 |
int |
DWORDLONG |
64位长整数 |
long |
DWORD |
32位无符号整数 |
uint |
HDC |
设备描述表句柄 |
int |
HANDLE |
句柄,32位整数 |
int |
HGDIOBJ |
GDI对象句柄 |
int |
UINT |
32位无符号整数 |
uint |
HINSTANCE |
实例句柄 |
int |
BOOL |
32位布尔型整数 |
bool |
HWM |
窗口句柄 |
int |
LPSTR |
指向字符的32位指针 |
string |
HPARAM |
32位消息参数 |
int |
LPCSTR |
指向常字符的32位指针 |
String |
LPARAM |
32位消息参数 |
int |
BYTE |
字节 |
byte |
WPARAM |
32位消息参数 |
int |
C++ 输入输出 C#
char chr[255] O StringBuilder
KCA_DIR I int
LPCSTR I string
int I int
LPSTR O StringBuilder
int* O out int
DWORD I int
DWORD* O out int
BOOL I bool
Rc_DBMgr I IntPtr
long* O out long
------------------------------------------------------------------------