Windows のデータ型

Windows でサポートされるデータ型は、関数の戻り値、関数とメッセージのパラメーター、および構造体のメンバーを定義するために使用されます。 これらの要素のサイズと意味を定義します。 基になる C/C++ データ型の詳細については、「データ型の 範囲」を参照してください。

次の表に、文字、整数、ブール値、ポインター、およびハンドルの型を示します。 文字、整数、ブール型は、ほとんどの C コンパイラに共通です。 ほとんどのポインター型名は、プレフィックス P または LP で始まります。 ハンドルは、メモリに読み込まれたリソースを参照します。

64 ビット整数の処理の詳細については、「 Large Integers」を参照してください。

データ型 説明
APIENTRY システム関数の呼び出し規約。
この型は、次のように WinDef.h で宣言されています。
#define APIENTRY WINAPI
原子 アトム。 詳細については、「 Atom テーブルについて」を参照してください。
この型は、次のように WinDef.h で宣言されています。
typedef WORD ATOM;
Bool ブール型 (Boolean) の変数 ( TRUE または FALSE にする必要があります)。
この型は、次のように WinDef.h で宣言されています。
typedef int BOOL;
ブール ブール型 (Boolean) の変数 ( TRUE または FALSE にする必要があります)。
この型は、次のように WinNT.h で宣言されます。
typedef BYTE BOOLEAN;
バイト バイト (8 ビット)。
この型は、次のように WinDef.h で宣言されています。
typedef unsigned char BYTE;
コールバック コールバック関数の呼び出し規約。
この型は、次のように 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;
定数 実行中に値を一定に保つ変数。
この型は、次のように WinDef.h で宣言されています。
#define CONST const
Dword 32 ビット符号なし整数 範囲は 0 から 10 進数4294967295です。
この型は、次のように IntSafe.h で宣言されています。
typedef unsigned long DWORD;
DWORDLONG 64 ビット符号なし整数。 範囲は 0 から 10 進数18446744073709551615です。
この型は、次のように IntSafe.h で宣言されています。
typedef unsigned __int64 DWORDLONG;
DWORD_PTR ポインターの有効桁数の符号なし long 型。 ポインターを long 型にキャストしてポインターの算術演算を実行する場合は、 を使用します。 (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;
フロート 浮動小数点変数。
この型は、次のように WinDef.h で宣言されています。
typedef float FLOAT;
HACCEL アクセラレータ テーブルへのハンドル。
この型は、次のように WinDef.h で宣言されています。
typedef HANDLE HACCEL;
HALF_PTR ポインターの半分のサイズ。 ポインターと 2 つの小さなフィールドを含む構造体内で を使用します。
この型は BaseTsd.h で次のように宣言されています。
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
処理

オブジェクトへのハンドル。

この型は、次のように 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

CreateFile ではなく、OpenFile によって開かれたファイルへのハンドル。

この型は、次のように 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 値をテストするには、FAILED マクロと SUCCEEDED マクロを使用します。

この型は、次のように 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から 10 進数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から 10 進数2147483647です。

この型は、次のように BaseTsd.h で宣言されています。

typedef signed int INT32;

INT64

64 ビット符号付き整数。 範囲は-9223372036854775808から 10 進数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;

長い

32 ビット符号付き整数。 範囲は-2147483648から 10 進数2147483647です。

この型は、次のように WinNT.h で宣言されています。

typedef long LONG;

LONGLONG

64 ビット符号付き整数。 範囲は-9223372036854775808から 10 進数9223372036854775807です。

この型は、次のように WinNT.h で宣言されています。

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

ポインターの有効桁数の符号付き long 型。 ポインターを long にキャストする場合は、 を使用してポインターの算術演算を実行します。

この型は、次のように BaseTsd.h で宣言されています。

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

32 ビット符号付き整数。 範囲は-2147483648から 10 進数2147483647です。

この型は、次のように BaseTsd.h で宣言されています。

typedef signed int LONG32;

LONG64

64 ビット符号付き整数。 範囲は-9223372036854775808から 10 進数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

UNICODE が定義されている場合は PCWSTR、それ以外の場合は 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
ファンドル

HANDLE へのポインター。

この型は、次のように WinNT.h で宣言されます。

typedef HANDLE *PHANDLE;

PHKEY

HKEY へのポインター。

この型は、次のように WinDef.h で宣言されています。

typedef HKEY *PHKEY;

パイント

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。 詳細については、「文字列の 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;

短い

16 ビット整数。 範囲は -32768 から 32767 decimal です。

この型は、次のように 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。 ポインターと 2 つの小さなフィールドを含む構造体内で を使用します。

この型は BaseTsd.h で次のように宣言されています。

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

符号なし INT。 範囲は 0 から 10 進数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 から 10 進数4294967295です。

この型は BaseTsd.h で次のように宣言されています。

typedef unsigned int UINT32;

UINT64

符号なし INT64。 範囲は 0 から 10 進数18446744073709551615です。

この型は BaseTsd.h で次のように宣言されています。

typedef unsigned __int64 UINT64;

Ulong

符号なし LONG。 範囲は 0 から 10 進数4294967295です。

この型は、次のように WinDef.h で宣言されています。

typedef unsigned long ULONG;

ULONGLONG

64 ビット符号なし整数。 範囲は 0 から 10 進数18446744073709551615です。

この型は、次のように 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 から 10 進数4294967295です。

この型は BaseTsd.h で次のように宣言されています。

typedef unsigned int ULONG32;

ULONG64

符号なし LONG64。 範囲は 0 から 10 進数18446744073709551615です。

この型は 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 decimal です。

この型は、次のように WinDef.h で宣言されています。

typedef unsigned short USHORT;

Usn

更新シーケンス番号 (USN)。

この型は、次のように WinNT.h で宣言されます。

typedef LONGLONG USN;

無効

任意の型。

この型は、次のように 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 を使用できます。

単語

16 ビット符号なし整数。 範囲は 0 ~ 65535 decimal です。

この型は、次のように WinDef.h で宣言されています。

typedef unsigned short WORD;

Wparam

メッセージ パラメーター。

この型は、次のように WinDef.h で宣言されています。

typedef UINT_PTR WPARAM;

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
Header
BaseTsd.h;
WinDef.h;
WinNT.h