2004年03月29日 10:13:00
续表
| POINTER_32 | void * | void *→POINTER_32 | 32位指针(详解略) | |
| POINTER_64 | void * | void *→POINTER_64 | 64位指针(详解略) | |
| PSHORT | short * | short→SHORT,SHORT *→PSHORT | SHORT的指针 | |
| PSTR | char * | char→CHAR,CHAR *→PSTR | 8位Windows字符(ANSI)无终结字符串指针 | |
| PTBYTE | wchar_t * | wchar_t→WCHAR,WCHAR *→PTBYTE | TBYTE的指针 | |
| PTCHAR | wchar_t * | wchar_t→WCHAR,WCHAR *→PTCHAR | TCHAR的指针 | |
| PTSTR | wchar_t * | wchar_t→WCHAR,WCHAR *→LPWSTR→PTSTR | PWSTR if UNICODE is defined, a PSTR otherwise. | |
| PTBYTE | wchar_t * | wchar_t→WCHAR,WCHAR *→PTBYTE | TBYTE的指针 | |
| PTCHAR | wchar_t * | wchar_t→WCHAR,WCHAR *→PTCHAR | TCHAR的指针 | |
| PTSTR | wchar_t * | wchar_t→WCHAR,WCHAR *→LPWSTR→PTSTR | A PWSTR if UNICODE is defined, a PSTR otherwise. | |
| PUCHAR | unsigned char * | unsigned char→UCHAR,UCHAR *→PUCHAR | UCHAR的指针 | |
| PUINT | unsigned int * | unsigned int *→PUINT(呵呵,为什么不用UINT*来定义呢?) | UINT的指针 | |
| PULONG | unsigned long * | unsigned long→ULONG,ULONG *→PULONG | ULONG的指针 | |
| PUSHORT | unsigned short * | unsigned short→USHORT,USHORT *→PUSHORT | USHORT的指针 | |
| PVOID | void * | void *→PVOID | 任何类型的指针 | |
| PWCHAR | wchar_t * | wchar_t→WCHAR,WCHAR *→PWCHAR | WCHAR的指针 | |
| PWORD | unsigned short * | unsigned short→WORD,WORD near *→PWORD | WORD的指针 | |
| PWSTR | wchar_t * | wchar_t→WCHAR,WCHAR *→PWSTR | 16位Windows字符(Unicode)无终结字符串指针 | |
| REGSAM | unsigned long | unsigned long→DWORD→ACCESS_MASK→REGSAM | 注册表值的安全访问掩码 | |
| SC_HANDLE | SC_HANDLE__结构体指针 | 由DECLARE_HANDLE(name)宏定义.. | Handle to a service control manager database. | |
| SC_LOCK | void * | void far *→LPVOID→SC_LOCK | Handle to a service control manager database lock. | |
| SERVICE_STATUS_HANDLE | SERVICE_STATUS_HANDLE__结构体指针 | 由DECLARE_HANDLE(name)宏定义.. | Handle to a service status value. | |
| SHORT | short | 2 | short→SHORT | 短整数类型(16位) |
| SIZE_T | unsigned long | 4 | unsigned long→ULONG_PTR→SIZE_T | 指针可指向的最大字节数 |
| SSIZE_T | long | _W64 long→LONG_PTR→SSIZE_T | 有符号SIZE_T. | |
| TBYTE | wchar_t | 2 | wchar_t→WCHAR,WCHAR→TBYTE | 如果UNICODE已定义则为WCHAR,否则为CHAR |
| TCHAR | wchar_t | 2 | wchar_t→WCHAR,WCHAR→TCHAR | 如果UNICODE已定义则为WCHAR,否则为CHAR |
| UCHAR | unsigned char | 1 | unsigned char→UCHAR | 无符号CHAR |
| UINT | unsigned int | * | unsigned int→UINT | 无符号INT |
| UINT_PTR | unsigned int | * | unsigned int→UINT_PTR | 无符号INT_PTR. |
| UINT32 | unsigned int | 2 | unsigned int→UINT32 | 无符号INT32. |
| UINT64 | unsigned __int64 | 4 | unsigned __int64→UINT64 | 无符号INT64. |
| ULONG | unsigned long | 4 | unsigned long→ULONG | 无符号LONG. |
| ULONG_PTR | unsigned long | 4 | unsigned long→ULONG_PTR | 无符号LONG_PTR. |
| ULONG32 | unsigned int | 2 | unsigned int→ULONG32 | 无符号LONG32 |
| ULONG64 | unsigned __int64 | 4 | unsigned __int64→ULONG64 | 无符号LONG64 |
| ULONGLONG | unsigned __int64 | 4 | unsigned __int64→ULONGLONG | 64位无符号整数 |
| UNSIGNED | 没查到,大家帮忙吧 | 无符号属性 | ||
| USHORT | unsigned short | unsigned short→USHORT | 无符号SHORT类型 | |
| VOID | void | void→VOID | 任何类型 | |
| WCHAR | wchar_t | 2 | wchar_t→WCHAR | 16位Unicode字符 |
| WINAPI | __stdcall | 调用 | __stdcall→WINAPI | 系统函数(API函数)调用约定 |
| WORD | unsigned short | 2 | unsigned short→WORD | 16位无符号整数 |
| WPARAM | unsigned int | * | unsigned int→UINT_PTR→WPARAM | 消息的参数 |
注:DECLARE_HANDLE宏的定义如下。
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; /
typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif
在列表中,是按前半部分的宏定义而写的,请大家注意。
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=22049
本文详细介绍了Windows环境下各种指针类型的定义与使用,包括不同位数的指针、字符指针、宽字符指针等,并解释了它们在16位与32位系统中的区别。
7984

被折叠的 条评论
为什么被折叠?



