Windows 資料類型

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

下表包含下列類型:字元、整數、布林值、指標和控制碼。 字元、整數和布林值類型通用於大部分的 C 編譯器。 大部分的指標類型名稱都是以 P 或 LP 的前置詞開頭。 控制碼指的是已載入記憶體的資源。

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

資料類型 描述
APIENTRY 系統函數的呼叫慣例。
此類型是在 WinDef 中宣告,如下所示:
#define APIENTRY WINAPI
原子 Atom。 如需詳細資訊,請參閱 關於 Atom 資料表
此類型是在 WinDef 中宣告,如下所示:
typedef WORD ATOM;
Bool 布林值變數 (應該是 TRUEFALSE) 。
此類型是在 WinDef 中宣告,如下所示:
typedef int BOOL;
布林 布林值變數 (應該是 TRUEFALSE) 。
此類型會在 WinNT 中宣告,如下所示:
typedef BYTE BOOLEAN;
位元組 ) (8 個位的位元組。
此類型是在 WinDef 中宣告,如下所示:
typedef unsigned char BYTE;
回檔 回呼函數的呼叫慣例。
此類型是在 WinDef 中宣告,如下所示:
#define CALLBACK __stdcall
回呼WINAPIAPIENTRY 全都用來定義具有 __stdcall 呼叫慣例的函式。 Windows API 中的大部分函式都是使用 WINAPI來宣告。 您可能會想要針對您所執行的回呼函式使用 回呼 ,以協助將函式識別為回呼函數。
CCHAR 8位 Windows (ANSI) 字元。
此類型會在 WinNT 中宣告,如下所示:
typedef char CCHAR;
字元 8位 Windows (ANSI) 字元。 如需詳細資訊,請參閱 字體所使用的字元集
此類型會在 WinNT 中宣告,如下所示:
typedef char CHAR;
COLORREF 紅色、綠色、藍色 (RGB) 色彩值 (32 個位) 。 如需此類型的詳細資訊,請參閱 COLORREF
此類型是在 WinDef 中宣告,如下所示:
typedef DWORD COLORREF;
常量 值在執行期間保持不變的變數。
此類型是在 WinDef 中宣告,如下所示:
#define CONST const
Dword 32 位元不帶正負號的整數。 範圍是0到4294967295的十進位數。
此類型是在 IntSafe 中宣告,如下所示:
typedef unsigned long DWORD;
DWORDLONG 64 位元不帶正負號的整數。 範圍是0到 18446744073709551615 decimal。
此類型是在 IntSafe 中宣告,如下所示:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR 指標有效位數不帶正負號的 long 類型。 在將指標轉換為 long 類型以執行指標算術時使用。 (也常用於已在64位 Windows 中延伸至64位的一般32位參數。 )
此類型是在 BaseTsd 中宣告,如下所示:
typedef ULONG_PTR DWORD_PTR;
DWORD32 32 位元不帶正負號的整數。
此類型是在 BaseTsd 中宣告,如下所示:
typedef unsigned int DWORD32;
DWORD64 64 位元不帶正負號的整數。
此類型是在 BaseTsd 中宣告,如下所示:
typedef unsigned __int64 DWORD64;
浮動 浮點數變數。
此類型是在 WinDef 中宣告,如下所示:
typedef float FLOAT;
HACCEL 快速鍵對應表的控制碼。
此類型是在 WinDef 中宣告,如下所示:
typedef HANDLE HACCEL;
HALF_PTR 指標的一半大小。 在包含指標和兩個小型欄位的結構中使用。
此類型是在 BaseTsd 中宣告,如下所示:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
處理

物件的控制碼。

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

typedef PVOID HANDLE;

HBITMAP

點陣圖的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HBITMAP;

HBRUSH

筆刷的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HBRUSH;

HCOLORSPACE

色彩空間的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HCOLORSPACE;

HCONV

動態資料交換 (DDE) 交談的控制碼。

此類型是在 Ddeml 中宣告,如下所示:

typedef HANDLE HCONV;

HCONVLIST

DDE 交談清單的控制碼。

此類型是在 Ddeml 中宣告,如下所示:

typedef HANDLE HCONVLIST;

HCURSOR

資料 指標的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HICON HCURSOR;

HDC

(DC) 的 裝置內容 控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HDC;

HDDEDATA

DDE 資料的控制碼。

此類型是在 Ddeml 中宣告,如下所示:

typedef HANDLE HDDEDATA;

HDESK

桌面的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HDESK;

HDROP

內部 drop 結構的控制碼。

此類型是在 ShellApi 中宣告,如下所示:

typedef HANDLE HDROP;

HDWP

延後視窗位置結構的控制碼。

此類型是在 WinUser 中宣告,如下所示:

typedef HANDLE HDWP;

HENHMETAFILE

增強型中繼檔的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HENHMETAFILE;

HFILE

OpenFile開啟之檔案的控制碼,而不是CreateFile

此類型是在 WinDef 中宣告,如下所示:

typedef int HFILE;

HFONT

字型的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HFONT;

HGDIOBJ

GDI 物件的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HGDIOBJ;

HGLOBAL

全域記憶體區塊的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HGLOBAL;

HHOOK

攔截的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HHOOK;

HICON

圖示的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HICON;

HINSTANCE

實例的控制碼。 這是記憶體中模組的基底位址。

HMODULEHINSTANCE 現在是一樣的,但在16位 Windows 中表示不同的事物。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HINSTANCE;

HKEY

登錄機碼的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HKEY;

HKL

輸入地區設定識別碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HKL;

HLOCAL

本機記憶體區塊的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HLOCAL;

HMENU

功能表的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HMENU;

HMETAFILE

中繼檔的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HMETAFILE;

HMODULE

模組的控制碼。 是記憶體中模組的基底位址。

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

此類型是在 WinDef 中宣告,如下所示:

typedef HINSTANCE HMODULE;

HMONITOR

顯示監視器的控制碼。

此類型是在 WinDef 中宣告,如下所示:

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

HPALETTE

調色板的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HPALETTE;

HPEN

畫筆的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HPEN;

HRESULT

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

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

typedef LONG HRESULT;

HRGN

區域的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HRGN;

HRSRC

資源的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HRSRC;

HSZ

DDE 字串的控制碼。

此類型是在 Ddeml 中宣告,如下所示:

typedef HANDLE HSZ;

HWINSTA

視窗站的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE WINSTA;

HWND

視窗的控制碼。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE HWND;

Int

32 位元帶正負號的整數。 範圍是-2147483648 到 2147483647 decimal。

此類型是在 WinDef 中宣告,如下所示:

typedef int INT;

INT_PTR

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

此類型是在 BaseTsd 中宣告,如下所示:

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

8 位元帶正負號的整數。

此類型是在 BaseTsd 中宣告,如下所示:

typedef signed char INT8;

INT16

16 位元帶正負號的整數。

此類型是在 BaseTsd 中宣告,如下所示:

typedef signed short INT16;

時會

32 位元帶正負號的整數。 範圍是-2147483648 到 2147483647 decimal。

此類型是在 BaseTsd 中宣告,如下所示:

typedef signed int INT32;

INT64

64 位元帶正負號的整數。 範圍是-9223372036854775808 到 9223372036854775807 decimal。

此類型是在 BaseTsd 中宣告,如下所示:

typedef signed __int64 INT64;

LANGID

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

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

typedef WORD LANGID;

Lcid

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

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

typedef DWORD LCID;

LCTYPE

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

此類型是在 WinNls 中宣告,如下所示:

typedef DWORD LCTYPE;

LGRPID

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

此類型是在 WinNls 中宣告,如下所示:

typedef DWORD LGRPID;

32 位元帶正負號的整數。 範圍是-2147483648 到 2147483647 decimal。

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

typedef long LONG;

LONGLONG

64 位元帶正負號的整數。 範圍是-9223372036854775808 到 9223372036854775807 decimal。

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

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

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

此類型是在 BaseTsd 中宣告,如下所示:

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

32 位元帶正負號的整數。 範圍是-2147483648 到 2147483647 decimal。

此類型是在 BaseTsd 中宣告,如下所示:

typedef signed int LONG32;

LONG64

64 位元帶正負號的整數。 範圍是-9223372036854775808 到 9223372036854775807 decimal。

此類型是在 BaseTsd 中宣告,如下所示:

typedef __int64 LONG64;

LPARAM

訊息參數。

此類型是在 WinDef 中宣告,如下所示:

typedef LONG_PTR LPARAM;

LPBOOL

BOOL的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef BOOL far *LPBOOL;

LPBYTE

位元組的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef BYTE far *LPBYTE;

LPCOLORREF

COLORREF值的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef DWORD *LPCOLORREF;

LPCSTR

以零結束的8位 Windows (ANSI) 字元之字串的指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

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

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

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

任何類型之常數的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef CONST void *LPCVOID;

LPCWSTR

16位 Unicode 字元之以 null 結束的常數位符串指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef CONST WCHAR *LPCWSTR;

LPDWORD

DWORD的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef DWORD *LPDWORD;

LPHANDLE

控制碼的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef HANDLE *LPHANDLE;

LPINT

整數的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef int *LPINT;

LPLONG

長整數的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef long *LPLONG;

LPSTR

8位 Windows (ANSI) 字元之以 null 結束的字串指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef CHAR *LPSTR;

LPTSTR

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

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

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

任何類型的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef void *LPVOID;

LPWORD

單字的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef WORD *LPWORD;

LPWSTR

16位 Unicode 字元之以 null 結束的字串指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef WCHAR *LPWSTR;

LRESULT

訊息處理的簽署結果。

此類型是在 WinDef 中宣告,如下所示:

typedef LONG_PTR LRESULT;

PBOOL

BOOL的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef BOOL *PBOOL;

PBOOLEAN

布林值的指標。

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

typedef BOOLEAN *PBOOLEAN;

PBYTE

位元組的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef BYTE *PBYTE;

PCHAR

CHAR的指標。

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

typedef CHAR *PCHAR;

PCSTR

以零結束的8位 Windows (ANSI) 字元之字串的指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef CONST CHAR *PCSTR;

PCTSTR

如果已定義UNICODE ,則為PCWSTR ,否則為PCSTR 。 如需詳細資訊,請參閱 Windows 資料類型的字串

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

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

16位 Unicode 字元之以 null 結束的常數位符串指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef CONST WCHAR *PCWSTR;

PDWORD

DWORD的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef DWORD *PDWORD;

PDWORDLONG

指向 DWORDLONG的指標。

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

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

DWORD_PTR的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

指向 DWORD32的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef DWORD32 *PDWORD32;

PDWORD64

指向 DWORD64的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef DWORD64 *PDWORD64;

PFLOAT

浮點數的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef FLOAT *PFLOAT;

PHALF_PTR

HALF_PTR的指標。

此類型是在 BaseTsd 中宣告,如下所示:

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

控制碼的指標。

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

typedef HANDLE *PHANDLE;

PHKEY

HKEY的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef HKEY *PHKEY;

品脫

整數的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef int *PINT;

PINT_PTR

INT_PTR的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef INT_PTR *PINT_PTR;

PINT8

INT8的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef INT8 *PINT8;

PINT16

INT16的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef INT16 *PINT16;

PINT32

INT32的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef INT32 *PINT32;

PINT64

INT64的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef INT64 *PINT64;

PLCID

LCID的指標。

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

typedef PDWORD PLCID;

PLONG

長整數的指標。

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

typedef LONG *PLONG;

PLONGLONG

指向 LONGLONG的指標。

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

typedef LONGLONG *PLONGLONG;

PLONG_PTR

LONG_PTR的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef LONG_PTR *PLONG_PTR;

PLONG32

指向 LONG32的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef LONG32 *PLONG32;

PLONG64

指向 LONG64的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef LONG64 *PLONG64;

POINTER_32

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

此類型是在 BaseTsd 中宣告,如下所示:

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

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

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

此類型是在 BaseTsd 中宣告,如下所示:

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

帶正負號的指標。

此類型是在 BaseTsd 中宣告,如下所示:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

不帶正負號的指標。

此類型是在 BaseTsd 中宣告,如下所示:

#define POINTER_UNSIGNED __uptr

PSHORT

簡短的指標。

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

typedef SHORT *PSHORT;

PSIZE_T

SIZE_T的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

SSIZE_T的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef SSIZE_T *PSSIZE_T;

PSTR

8位 Windows (ANSI) 字元之以 null 結束的字串指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef CHAR *PSTR;

PTBYTE

指向 TBYTE的指標。

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

typedef TBYTE *PTBYTE;

PTCHAR

指向 TCHAR的指標。

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

typedef TCHAR *PTCHAR;

PTSTR

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

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

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

指向 UCHAR的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef UCHAR *PUCHAR;

PUHALF_PTR

UHALF_PTR的指標。

此類型是在 BaseTsd 中宣告,如下所示:

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

UINT的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef UINT *PUINT;

PUINT_PTR

UINT_PTR的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef UINT_PTR *PUINT_PTR;

PUINT8

指向 UINT8的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef UINT8 *PUINT8;

PUINT16

UINT16的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef UINT16 *PUINT16;

PUINT32

UINT32的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef UINT32 *PUINT32;

PUINT64

UINT64的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef UINT64 *PUINT64;

PULONG

ULONG的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef ULONG *PULONG;

PULONGLONG

指向 ULONGLONG的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

ULONG_PTR的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

指向 ULONG32的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef ULONG32 *PULONG32;

PULONG64

指向 ULONG64的指標。

此類型是在 BaseTsd 中宣告,如下所示:

typedef ULONG64 *PULONG64;

PUSHORT

USHORT的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef USHORT *PUSHORT;

PVOID

任何類型的指標。

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

typedef void *PVOID;

PWCHAR

指向 WCHAR的指標。

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

typedef WCHAR *PWCHAR;

PWORD

單字的指標。

此類型是在 WinDef 中宣告,如下所示:

typedef WORD *PWORD;

PWSTR

16位 Unicode 字元之以 null 結束的字串指標。 如需詳細資訊,請參閱 字體所使用的字元集

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

typedef WCHAR *PWSTR;

QWORD

64 位元不帶正負號的整數。

這種類型的宣告方式如下:

typedef unsigned __int64 QWORD;

SC_HANDLE

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

此類型是在 WinSvc 中宣告,如下所示:

typedef HANDLE SC_HANDLE;

SC_LOCK

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

此類型是在 WinSvc 中宣告,如下所示:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

服務狀態值的控制碼。 如需詳細資訊,請參閱 SCM 控制碼

此類型是在 WinSvc 中宣告,如下所示:

typedef HANDLE SERVICE_STATUS_HANDLE;

16位整數。 範圍是-32768 到 32767 decimal。

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

typedef short SHORT;

SIZE_T

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

此類型是在 BaseTsd 中宣告,如下所示:

typedef ULONG_PTR SIZE_T;

SSIZE_T

SIZE_T的帶正負號版本。

此類型是在 BaseTsd 中宣告,如下所示:

typedef LONG_PTR SSIZE_T;

TBYTE

如果已定義UNICODE ,則為WCHAR ,否則為字元

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

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

如果已定義UNICODE ,則為WCHAR ,否則為字元

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

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

不帶正負號的 字元

此類型是在 WinDef 中宣告,如下所示:

typedef unsigned char UCHAR;

UHALF_PTR

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

此類型是在 BaseTsd 中宣告,如下所示:

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

不帶正負號的 整數。 範圍是0到4294967295的十進位數。

此類型是在 WinDef 中宣告,如下所示:

typedef unsigned int UINT;

UINT_PTR

不帶正負號的 INT_PTR

此類型是在 BaseTsd 中宣告,如下所示:

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

不帶正負號的 INT8

此類型是在 BaseTsd 中宣告,如下所示:

typedef unsigned char UINT8;

UINT16

不帶正負號的 INT16

此類型是在 BaseTsd 中宣告,如下所示:

typedef unsigned short UINT16;

UINT32

不帶正負號的 INT32。 範圍是0到4294967295的十進位數。

此類型是在 BaseTsd 中宣告,如下所示:

typedef unsigned int UINT32;

UINT64

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

此類型是在 BaseTsd 中宣告,如下所示:

typedef usigned __int 64 UINT64;

ULONG

不帶正負號的 LONG。 範圍是0到4294967295的十進位數。

此類型是在 WinDef 中宣告,如下所示:

typedef unsigned long ULONG;

ULONGLONG

64 位元不帶正負號的整數。 範圍是0到 18446744073709551615 decimal。

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

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

不帶正負號的 LONG_PTR

此類型是在 BaseTsd 中宣告,如下所示:

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

未簽署的 LONG32。 範圍是0到4294967295的十進位數。

此類型是在 BaseTsd 中宣告,如下所示:

typedef unsigned int ULONG32;

ULONG64

未簽署的 LONG64。 範圍是0到 18446744073709551615 decimal。

此類型是在 BaseTsd 中宣告,如下所示:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

Unicode 字串。

此類型是在 Winternl 中宣告,如下所示:

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

不帶正負號的 簡短。 範圍是0到65535的十進位數。

此類型是在 WinDef 中宣告,如下所示:

typedef unsigned short USHORT;

Usn

(USN) 的更新序號。

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

typedef LONGLONG USN;

無效

任何類型。

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

#define VOID void

WCHAR

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

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

typedef wchar_t WCHAR;

WINAPI

系統函數的呼叫慣例。

此類型是在 WinDef 中宣告,如下所示:

#define WINAPI __stdcall

回呼WINAPIAPIENTRY 全都用來定義具有 __stdcall 呼叫慣例的函式。 Windows API 中的大部分函式都是使用 WINAPI來宣告。 您可能會想要針對您所執行的回呼函式使用 回呼 ,以協助將函式識別為回呼函數。

16 位元不帶正負號的整數。 範圍是0到65535的十進位數。

此類型是在 WinDef 中宣告,如下所示:

typedef unsigned short WORD;

WPARAM

訊息參數。

此類型是在 WinDef 中宣告,如下所示:

typedef UINT_PTR WPARAM;

規格需求

需求
最低支援的用戶端
[僅限 WINDOWS XP desktop 應用程式]
最低支援的伺服器
僅限 Windows Server 2003 [ desktop 應用程式]
標頭
BaseTsd .h;
WinDef .h;
WinNT .h