下表列出了在 Win32 API(在 Wtypes.h 中列出)和 C 样式函数中使用的数据类型。许多非托管库包含将这些数据类型作为参数传递并返回值的函数。第三列列出了在托管代码中使用的相应的 .NET Framework 内置值类型或类。某些情况下,您可以用大小相同的类型替换此表中列出的类型。
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 位 |