共用方式為


Windows 數據類型

Windows 支援的數據類型可用來定義函式傳回值、函式和訊息參數,以及結構成員。 它們會定義這些專案的大小和意義。 如需基礎 C/C++ 資料類型的詳細資訊,請參閱 資料類型範圍

下表包含下列類型:字元、整數、布爾值、指標和句柄。 大多數 C 編譯程式通用的字元、整數和布爾值類型。 大部分的指標類型名稱開頭都是 P 或 LP 的前置詞。 句柄是指已載入記憶體中的資源。

如需處理 64 位整數的詳細資訊,請參閱 大型整數

數據類型 描述
APIENTRY 系統函式的呼叫慣例。
此類型會在 WinDef.h 中宣告,如下所示:
#define APIENTRY WINAPI
ATOM 原子。 如需詳細資訊,請參閱 關於 Atom 資料表
此類型會在 WinDef.h 中宣告,如下所示:
typedef WORD ATOM;
BOOL 布爾值變數 (應 TRUEFALSE)。
此類型會在 WinDef.h 中宣告,如下所示:
typedef int BOOL;
BOOLEAN 布爾值變數 (應 TRUEFALSE)。
此類型會在 WinNT.h 中宣告,如下所示:
typedef BYTE BOOLEAN;
BYTE 位元組 (8 位)。
此類型會在 WinDef.h 中宣告,如下所示:
typedef unsigned char BYTE;
CALLBACK 回呼函式的呼叫慣例。
此類型會在 WinDef.h 中宣告,如下所示:
#define CALLBACK __stdcall
CALLBACKWINAPIAPIENTRY 全都用來使用 __stdcall 呼叫慣例來定義函式。 Windows API 中的大部分函式都是使用 WINAPI宣告。 您可能想要針對您實作的回呼函式使用 CALLBACK,以協助將函式識別為回呼函式。
CCHAR 8 位 Windows (ANSI) 字元。
此類型會在 WinNT.h 中宣告,如下所示:
typedef char CCHAR;
CHAR 8 位 Windows (ANSI) 字元。 如需詳細資訊,請參閱 字型所使用的字元集
此類型會在 WinNT.h 中宣告,如下所示:
typedef char CHAR;
COLORREF 紅色、綠色、藍色(RGB)色彩值(32 位)。 如需此類型的相關信息,請參閱 COLORREF
此類型會在 WinDef.h 中宣告,如下所示:
typedef DWORD COLORREF;
CONST 變數,其值為在執行期間維持不變。
此類型會在 WinDef.h 中宣告,如下所示:
#define CONST const
DWORD 32 位無符號整數。 範圍是 0 到 decimal 4294967295。
此類型會在 IntSafe.h 中宣告,如下所示:
typedef unsigned long DWORD;
DWORDLONG 64 位無符號整數。 範圍是 0 到 18446744073709551615 decimal。
此類型會在 IntSafe.h 中宣告,如下所示:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR 指標精確度的不帶正負號長型別。 將指標轉換成長型別以執行指標算術時使用。 (也通常用於已擴充至 64 位 Windows 中 64 位的一般 32 位參數。
此類型會在BaseTsd.h中宣告,如下所示:
typedef ULONG_PTR DWORD_PTR;
DWORD32 32 位無符號整數。
此類型會在BaseTsd.h中宣告,如下所示:
typedef unsigned int DWORD32;
DWORD64 64 位無符號整數。
此類型會在BaseTsd.h中宣告,如下所示:
typedef unsigned __int64 DWORD64;
FLOAT 浮點變數。
此類型會在 WinDef.h 中宣告,如下所示:
typedef float FLOAT;
HACCEL 捷徑資料表的句柄
此類型會在 WinDef.h 中宣告,如下所示:
typedef HANDLE HACCEL;
HALF_PTR 指標大小的一半。 在包含指標和兩個小欄位的結構內使用。
此類型會在BaseTsd.h中宣告,如下所示:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

物件的句柄。

此類型會在 WinNT.h 中宣告,如下所示:

typedef PVOID HANDLE;

HBITMAP

點陣圖的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HBITMAP;

HBRUSH

筆刷的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HBRUSH;

HCOLORSPACE

色彩空間的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HCOLORSPACE;

HCONV

動態數據交換 (DDE) 交談的句柄。

此類型會在 Ddeml.h 中宣告,如下所示:

typedef HANDLE HCONV;

HCONVLIST

DDE 交談清單的句柄。

此類型會在 Ddeml.h 中宣告,如下所示:

typedef HANDLE HCONVLIST;

HCURSOR

資料指標的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HICON HCURSOR;

HDC

裝置內容的句柄 (DC)。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HDC;

HDDEDATA

DDE 數據的句柄。

此類型會在 Ddeml.h 中宣告,如下所示:

typedef HANDLE HDDEDATA;

HDESK

桌面的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HDESK;

HDROP

內部置放結構的句柄。

此類型會在ShellApi.h中宣告,如下所示:

typedef HANDLE HDROP;

HDWP

延遲視窗位置結構的句柄。

此類型會在 WinUser.h 中宣告,如下所示:

typedef HANDLE HDWP;

HENHMETAFILE

增強型元檔句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HENHMETAFILE;

HFILE

OpenFile所開啟之檔案的句柄,而不是 CreateFile

此類型會在 WinDef.h 中宣告,如下所示:

typedef int HFILE;

HFONT

字型的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HFONT;

HGDIOBJ

GDI 物件的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HGDIOBJ;

HGLOBAL

全域記憶體區塊的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HGLOBAL;

HHOOK

勾點的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HHOOK;

HICON

圖示的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HICON;

HINSTANCE

實例的句柄。 這是記憶體中模組的基位址。

HMODULEHINSTANCE 目前都相同,但在 16 位 Windows 中代表不同的專案。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HINSTANCE;

HKEY

登錄機碼的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HKEY;

HKL

輸入地區設定標識碼。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HKL;

HLOCAL

本機記憶體區塊的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HLOCAL;

HMENU

功能表的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HMENU;

HMETAFILE

元檔句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HMETAFILE;

HMODULE

模組的句柄。 這是記憶體中模組的基位址。

HMODULEHINSTANCE 在目前的 Windows 版本中相同,但在 16 位 Windows 中代表不同的專案。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HINSTANCE HMODULE;

HMONITOR

顯示監視器的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

if(WINVER >= 0x0500) typedef HANDLE HMONITOR;

HPALETTE

調色盤的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HPALETTE;

HPEN

手寫筆的控點

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HPEN;

HRESULT

COM 介面所使用的傳回碼。 如需詳細資訊,請參閱 COM 錯誤碼的結構。 若要測試 HRESULT 值,請使用 FAILEDSUCCEEDED 巨集。

此類型會在 WinNT.h 中宣告,如下所示:

typedef LONG HRESULT;

HRGN

區域的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HRGN;

HRSRC

資源的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HRSRC;

HSZ

DDE 字串的句柄。

此類型會在 Ddeml.h 中宣告,如下所示:

typedef HANDLE HSZ;

HWINSTA

視窗月臺的句柄

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE WINSTA;

HWND

視窗的句柄。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE HWND;

INT

32 位帶正負號的整數。 範圍 -2147483648 到2147483647十進位數。

此類型會在 WinDef.h 中宣告,如下所示:

typedef int INT;

INT_PTR

指標有效位數的帶正負號整數類型。 將指標轉換成整數來執行指標算術時使用。

此類型會在BaseTsd.h中宣告,如下所示:

C++
#if defined(_WIN64) 
 typedef __int64 INT_PTR; 
#else 
 typedef int INT_PTR;
#endif
INT8

8 位帶正負號的整數。

此類型會在BaseTsd.h中宣告,如下所示:

typedef signed char INT8;

INT16

16 位帶正負號的整數。

此類型會在BaseTsd.h中宣告,如下所示:

typedef signed short INT16;

INT32

32 位帶正負號的整數。 範圍 -2147483648 到2147483647十進位數。

此類型會在BaseTsd.h中宣告,如下所示:

typedef signed int INT32;

INT64

64 位帶正負號的整數。 範圍 -9223372036854775808 到9223372036854775807十進位數。

此類型會在BaseTsd.h中宣告,如下所示:

typedef signed __int64 INT64;

LANGID

語言標識碼。 如需詳細資訊,請參閱 語言識別碼

此類型會在 WinNT.h 中宣告,如下所示:

typedef WORD LANGID;

LCID

地區設定標識碼。 如需詳細資訊,請參閱 地區設定識別子

此類型會在 WinNT.h 中宣告,如下所示:

typedef DWORD LCID;

LCTYPE

地區設定資訊類型。 如需清單,請參閱 地區設定資訊常數

此類型會在 WinNls.h 中宣告,如下所示:

typedef DWORD LCTYPE;

LGRPID

語言群組標識碼。 如需清單,請參閱 EnumLanguageGroupLocales

此類型會在 WinNls.h 中宣告,如下所示:

typedef DWORD LGRPID;

LONG

32 位帶正負號的整數。 範圍 -2147483648 到2147483647十進位數。

此類型會在 WinNT.h 中宣告,如下所示:

typedef long LONG;

LONGLONG

64 位帶正負號的整數。 範圍 -9223372036854775808 到9223372036854775807十進位數。

此類型會在 WinNT.h 中宣告,如下所示:

C++
#if !defined(_M_IX86)
 typedef __int64 LONGLONG; 
#else
 typedef double LONGLONG;
#endif
LONG_PTR

指標有效位數的帶正負號長型別。 將指標轉換成 long 來執行指標算術時使用。

此類型會在BaseTsd.h中宣告,如下所示:

C++
#if defined(_WIN64)
 typedef __int64 LONG_PTR; 
#else
 typedef long LONG_PTR;
#endif
LONG32

32 位帶正負號的整數。 範圍 -2147483648 到2147483647十進位數。

此類型會在BaseTsd.h中宣告,如下所示:

typedef signed int LONG32;

LONG64

64 位帶正負號的整數。 範圍 -9223372036854775808 到9223372036854775807十進位數。

此類型會在BaseTsd.h中宣告,如下所示:

typedef __int64 LONG64;

LPARAM

訊息參數。

此類型會在 WinDef.h 中宣告,如下所示:

typedef LONG_PTR LPARAM;

LPBOOL

BOOL的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef BOOL far *LPBOOL;

LPBYTE

BYTE的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef BYTE far *LPBYTE;

LPCOLORREF

COLORREF 值的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef DWORD *LPCOLORREF;

LPCSTR

8 位 Windows (ANSI) 字元之常數 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

如果已定義 UNICODE ,則為 LPCWSTR,否則為 LPCSTR。 如需詳細資訊,請參閱 適用於字串的 Windows 資料類型

此類型會在 WinNT.h 中宣告,如下所示:

C++
#ifdef UNICODE
 typedef LPCWSTR LPCTSTR; 
#else
 typedef LPCSTR LPCTSTR;
#endif
LPCVOID

任何型別常數的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef CONST void *LPCVOID;

LPCWSTR

16 位 Unicode 字元之常數 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

DWORD的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef DWORD *LPDWORD;

LPHANDLE

HANDLE的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HANDLE *LPHANDLE;

LPINT

INT的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef int *LPINT;

LPLONG

LONG的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef long *LPLONG;

LPSTR

8 位 Windows (ANSI) 字元之 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef CHAR *LPSTR;

LPTSTR

如果已定義 UNICODE LPWSTR,則為 LPSTR。 如需詳細資訊,請參閱 適用於字串的 Windows 資料類型

此類型會在 WinNT.h 中宣告,如下所示:

C++
#ifdef UNICODE
 typedef LPWSTR LPTSTR;
#else
 typedef LPSTR LPTSTR;
#endif
LPVOID

任何型別的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef void *LPVOID;

LPWORD

WORD的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef WORD *LPWORD;

LPWSTR

16 位 Unicode 字元之 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef WCHAR *LPWSTR;

LRESULT

訊息處理的已簽署結果。

此類型會在 WinDef.h 中宣告,如下所示:

typedef LONG_PTR LRESULT;

PBOOL

BOOL的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef BOOL *PBOOL;

PBOOLEAN

BOOLEAN的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef BOOLEAN *PBOOLEAN;

PBYTE

BYTE的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef BYTE *PBYTE;

PCHAR

CHAR的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef CHAR *PCHAR;

PCSTR

8 位 Windows (ANSI) 字元之常數 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef CONST CHAR *PCSTR;

PCTSTR

如果已定義 UNICODEPCWSTR,則為 PCSTR。 如需詳細資訊,請參閱 適用於字串的 Windows 資料類型

此類型會在 WinNT.h 中宣告,如下所示:

C++
#ifdef UNICODE
 typedef LPCWSTR PCTSTR;
#else
 typedef LPCSTR PCTSTR;
#endif
PCWSTR

16 位 Unicode 字元之常數 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef CONST WCHAR *PCWSTR;

PDWORD

DWORD的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef DWORD *PDWORD;

PDWORDLONG

DWORDLONG的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

DWORD_PTR的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

DWORD32的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef DWORD32 *PDWORD32;

PDWORD64

DWORD64的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef DWORD64 *PDWORD64;

PFLOAT

FLOAT的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef FLOAT *PFLOAT;

PHALF_PTR

HALF_PTR的指標。

此類型會在BaseTsd.h中宣告,如下所示:

C++
#ifdef _WIN64
 typedef HALF_PTR *PHALF_PTR;
#else
 typedef HALF_PTR *PHALF_PTR;
#endif
PHANDLE

HANDLE的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef HANDLE *PHANDLE;

PHKEY

HKEY的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef HKEY *PHKEY;

PINT

INT的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef int *PINT;

PINT_PTR

INT_PTR的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef INT_PTR *PINT_PTR;

PINT8

INT8的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef INT8 *PINT8;

PINT16

INT16的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef INT16 *PINT16;

PINT32

INT32的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef INT32 *PINT32;

PINT64

INT64的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef INT64 *PINT64;

PLCID

LCID的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef PDWORD PLCID;

PLONG

LONG的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef LONG *PLONG;

PLONGLONG

LONGLONG 指標

此類型會在 WinNT.h 中宣告,如下所示:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

LONG_PTR的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef LONG_PTR *PLONG_PTR;

PLONG32

LONG32的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef LONG32 *PLONG32;

PLONG64

LONG64的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef LONG64 *PLONG64;

POINTER_32

32 位指標。 在32位系統上,這是原生指標。 在64位系統上,這是截斷的64位指標。

此類型會在BaseTsd.h中宣告,如下所示:

C++
#if defined(_WIN64)
#define POINTER_32 __ptr32
#else
#define POINTER_32
#endif
POINTER_64

64 位指標。 在64位系統上,這是原生指標。 在32位系統上,這是帶正負號的32位指標。

請注意,假設高指標位的狀態不安全。

此類型會在BaseTsd.h中宣告,如下所示:

C++
#if (_MSC_VER >= 1300)
#define POINTER_64 __ptr64
#else
#define POINTER_64
#endif
POINTER_SIGNED

帶正負號的指標。

此類型會在BaseTsd.h中宣告,如下所示:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

不帶正負號的指標。

此類型會在BaseTsd.h中宣告,如下所示:

#define POINTER_UNSIGNED __uptr

PSHORT

SHORT的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef SHORT *PSHORT;

PSIZE_T

SIZE_T的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

SSIZE_T的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef SSIZE_T *PSSIZE_T;

PSTR

8 位 Windows (ANSI) 字元之 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef CHAR *PSTR;

PTBYTE

TBYTE的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef TBYTE *PTBYTE;

PTCHAR

TCHAR的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef TCHAR *PTCHAR;

PTSTR

如果 UNICODE 定義 PWSTR,則為 PSTR ,否則為 PSTR。 如需詳細資訊,請參閱 適用於字串的 Windows 資料類型

此類型會在 WinNT.h 中宣告,如下所示:

C++
#ifdef UNICODE
 typedef LPWSTR PTSTR;
#else typedef LPSTR PTSTR;
#endif
PUCHAR

UCHAR的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef UCHAR *PUCHAR;

PUHALF_PTR

UHALF_PTR的指標。

此類型會在BaseTsd.h中宣告,如下所示:

C++
#ifdef _WIN64
 typedef UHALF_PTR *PUHALF_PTR;
#else
 typedef UHALF_PTR *PUHALF_PTR;
#endif
PUINT

UINT的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef UINT *PUINT;

PUINT_PTR

UINT_PTR的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef UINT_PTR *PUINT_PTR;

PUINT8

UINT8的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef UINT8 *PUINT8;

PUINT16

UINT16的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef UINT16 *PUINT16;

PUINT32

UINT32的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef UINT32 *PUINT32;

PUINT64

UINT64的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef UINT64 *PUINT64;

PULONG

ULONG的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef ULONG *PULONG;

PULONGLONG

ULONGLONG指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

ULONG_PTR的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

ULONG32的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef ULONG32 *PULONG32;

PULONG64

ULONG64的指標。

此類型會在BaseTsd.h中宣告,如下所示:

typedef ULONG64 *PULONG64;

PUSHORT

USHORT的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef USHORT *PUSHORT;

PVOID

任何型別的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef void *PVOID;

PWCHAR

WCHAR的指標。

此類型會在 WinNT.h 中宣告,如下所示:

typedef WCHAR *PWCHAR;

PWORD

WORD的指標。

此類型會在 WinDef.h 中宣告,如下所示:

typedef WORD *PWORD;

PWSTR

16 位 Unicode 字元之 Null 終止字串的指標。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef WCHAR *PWSTR;

QWORD

64 位無符號整數。

此類型宣告如下:

typedef unsigned __int64 QWORD;

SC_HANDLE

服務控制管理員資料庫的句柄。 如需詳細資訊,請參閱 SCM 句柄

此類型會在 WinSvc.h 中宣告,如下所示:

typedef HANDLE SC_HANDLE;

SC_LOCK

服務控制管理員資料庫的鎖定。 如需詳細資訊,請參閱 SCM 句柄

此類型會在 WinSvc.h 中宣告,如下所示:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

服務狀態值的句柄。 如需詳細資訊,請參閱 SCM 句柄

此類型會在 WinSvc.h 中宣告,如下所示:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

16 位整數。 範圍 -32768 到 32767 十進位。

此類型會在 WinNT.h 中宣告,如下所示:

typedef short SHORT;

SIZE_T

指標可以指向的最大位元元組數目。 用於必須跨越指標完整範圍的計數。

此類型會在BaseTsd.h中宣告,如下所示:

typedef ULONG_PTR SIZE_T;

SSIZE_T

SIZE_T的已簽署版本。

此類型會在BaseTsd.h中宣告,如下所示:

typedef LONG_PTR SSIZE_T;

TBYTE

如果已定義 UNICODE WCHAR,則為 CHAR

此類型會在 WinNT.h 中宣告,如下所示:

C++
#ifdef UNICODE
 typedef WCHAR TBYTE;
#else
 typedef unsigned char TBYTE;
#endif
TCHAR

如果已定義 UNICODE WCHAR,則為 CHAR

此類型會在 WinNT.h 中宣告,如下所示:

C++
#ifdef UNICODE
 typedef WCHAR TCHAR;
#else
 typedef char TCHAR;
#endif
UCHAR

不帶正負號 CHAR

此類型會在 WinDef.h 中宣告,如下所示:

typedef unsigned char UCHAR;

UHALF_PTR

不帶正負號 HALF_PTR。 在包含指標和兩個小欄位的結構內使用。

此類型會在BaseTsd.h中宣告,如下所示:

C++
#ifdef _WIN64
 typedef unsigned int UHALF_PTR;
#else
 typedef unsigned short UHALF_PTR;
#endif
UINT

未簽署 INT。 範圍是 0 到 decimal 4294967295。

此類型會在 WinDef.h 中宣告,如下所示:

typedef unsigned int UINT;

UINT_PTR

未簽署 INT_PTR

此類型會在BaseTsd.h中宣告,如下所示:

C++
#if defined(_WIN64)
 typedef unsigned __int64 UINT_PTR;
#else
 typedef unsigned int UINT_PTR;
#endif
UINT8

未簽署 INT8

此類型會在BaseTsd.h中宣告,如下所示:

typedef unsigned char UINT8;

UINT16

無符號 INT16

此類型會在BaseTsd.h中宣告,如下所示:

typedef unsigned short UINT16;

UINT32

未簽署 INT32。 範圍是 0 到 decimal 4294967295。

此類型會在BaseTsd.h中宣告,如下所示:

typedef unsigned int UINT32;

UINT64

未簽署 INT64。 範圍是 0 到 18446744073709551615 decimal。

此類型會在BaseTsd.h中宣告,如下所示:

typedef unsigned __int64 UINT64;

ULONG

不帶正負號 LONG。 範圍是 0 到 decimal 4294967295。

此類型會在 WinDef.h 中宣告,如下所示:

typedef unsigned long ULONG;

ULONGLONG

64 位無符號整數。 範圍是 0 到 18446744073709551615 decimal。

此類型會在 WinNT.h 中宣告,如下所示:

C++
#if !defined(_M_IX86)
 typedef unsigned __int64 ULONGLONG;
#else
 typedef double ULONGLONG;
#endif
ULONG_PTR

不帶正負號 LONG_PTR

此類型會在BaseTsd.h中宣告,如下所示:

C++
#if defined(_WIN64)
 typedef unsigned __int64 ULONG_PTR;
#else
 typedef unsigned long ULONG_PTR;
#endif
ULONG32

不帶正負號 LONG32。 範圍是 0 到 decimal 4294967295。

此類型會在BaseTsd.h中宣告,如下所示:

typedef unsigned int ULONG32;

ULONG64

不帶正負號 LONG64。 範圍是 0 到 18446744073709551615 decimal。

此類型會在BaseTsd.h中宣告,如下所示:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

Unicode 字串。

此類型會在 Winternl.h 中宣告,如下所示:

C++
typedef struct _UNICODE_STRING {
  USHORT  Length;
  USHORT  MaximumLength;
  PWSTR  Buffer;
} UNICODE_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;
typedef const UNICODE_STRING *PCUNICODE_STRING;
USHORT

不帶正負號 SHORT。 範圍是 0 到 65535 十進位。

此類型會在 WinDef.h 中宣告,如下所示:

typedef unsigned short USHORT;

USN

更新序號 (USN)。

此類型會在 WinNT.h 中宣告,如下所示:

typedef LONGLONG USN;

VOID

任何類型。

此類型會在 WinNT.h 中宣告,如下所示:

#define VOID void

WCHAR

16 位 Unicode 字元。 如需詳細資訊,請參閱 字型所使用的字元集

此類型會在 WinNT.h 中宣告,如下所示:

typedef wchar_t WCHAR;

WINAPI

系統函式的呼叫慣例。

此類型會在 WinDef.h 中宣告,如下所示:

#define WINAPI __stdcall

CALLBACKWINAPIAPIENTRY 全都用來使用 __stdcall 呼叫慣例來定義函式。 Windows API 中的大部分函式都是使用 WINAPI宣告。 您可能想要針對您實作的回呼函式使用 CALLBACK,以協助將函式識別為回呼函式。

WORD

16 位無符號整數。 範圍是 0 到 65535 十進位。

此類型會在 WinDef.h 中宣告,如下所示:

typedef unsigned short WORD;

WPARAM

訊息參數。

此類型會在 WinDef.h 中宣告,如下所示:

typedef UINT_PTR WPARAM;

要求

要求 價值
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
頁眉
BaseTsd.h;
WinDef.h;
WinNT.h