Windows API C/C++ typedef and #define

WinNT.h

typedef
typedefC/C++.NETC#Remarks
PVOIDvoid *System.IntPtrIntPtr
PVOID64void * POINTER_64System.IntPtrIntPtr
HANDLEvoid *System.IntPtrIntPtr
BOOLEANBYTESystem.Bytebyte
CHARcharSystem.SBytesbyte
WCHARwchar_tSystem.Charchar
LPCSTR__nullterminated CONST CHAR *
LPCWSTR__nullterminated CONST WCHAR *
LPCTSTRLPCWSTR
LONGlongSystem.Int32intWindows Data Types
HRESULTLONGSystem.Int32intDllImportAttribute.PreserveSig フィールド
#define
#defineC/C++Remarks
POINTER_64__ptr64
ANSI_NULL((CHAR)0)
UNICODE_NULL((WCHAR)0)
UNICODE_STRING_MAX_BYTES((WORD)65534)
UNICODE_STRING_MAX_CHARS(32767)
DECLARE_HANDLE(name)struct name##__ { int unused; }; typedef struct name##__ *name;Token-Pasting Operator (##)
DECLSPEC_IMPORT__declspec(dllimport)
EXTERN_Cextern "C"Using extern to Specify Linkage
STDAPICALLTYPE__stdcall
STDAPIEXTERN_C HRESULT STDAPICALLTYPE

minwindef.h

typedef
typedefC/C++.NETC#Remarks
UINTunsigned int
#define
#defineC/C++Remarks
CALLBACK__stdcall
WINAPI__stdcall
WINAPIV__cdecl
APIENTRYWINAPI
APIPRIVATE__stdcall
PASCAL__stdcall

WinDef.h

typedef
typedefC/C++.NETC#Remarks
ULONGunsigned longSystem.UInt32uint
PULONGULONG *System.IntPtruint
USHORTunsigned shortSystem.UInt16ushort
PUSHORTUSHORT *System.IntPtrshort
UCHARunsigned charSystem.SBytesbyte
PUCHARUCHAR *System.String
System.Text.StringBuilder
string
StringBuilder
PSZ_Null_terminated_ char *System.String
System.Text.StringBuilder
string
StringBuilder
BYTEunsigned charSystem.Bytebyte
WORDunsigned shortSystem.UInt16ushort
DWORDunsigned longSystem.UInt32uint
LPVOIDvoid far *System.IntPtrIntPtr
LPCVOIDCONST void far *System.IntPtrIntPtr
INTintSystem.Int32int
UINTunsigned intSystem.UInt32uint
BOOLintSystem.Int32int
PBOOLBOOL near *System.Booleanbool
LPBOOLBOOL far *System.Booleanbool
HMODULEHINSTANCESystem.IntPtrIntPtrHMODULEs can be used in place of HINSTANCEs
HINSTANCEDECLARE_HANDLE(HINSTANCE)System.IntPtrIntPtr
HWNDDECLARE_HANDLE(HWND)System.IntPtrIntPtr
HMONITORDECLARE_HANDLE(HMONITOR)
#define
#defineC/C++Remarks
MAX_PATH260
CONSTconst
NULL0
FALSE0
TRUE1
IN
OUT
OPTIONAL
far
FARfar
near
NEARnear
DECLSPEC_IMPORT__declspec(dllimport)
FARPROC(FAR WINAPI *)()

WinBase.h

typedef
typedefC/C++.NETC#Remarks
#define
#defineC/C++Remarks
WINBASEAPI

sal.h

typedef
typedefC/C++.NETC#Remarks
#define
#defineC/C++Remarks
__notnull
__readonly
__pre
__post
__refparam
__deref
__valid
__byte_writableTo(size)
__byte_readableTo(size)
__elem_writableTo(size)
__elem_readableTo(size)
__ecount(size)__notnull __elem_writableTo(size)
__in__pre __valid __pre __deref __readonly
__in_bcount(size)__in __pre __byte_readableTo(size)
__out_ecount(size)__ecount(size) __post __valid __refparam
__out_ecount_part(size, length)__out_ecount(size) __post __elem_readableTo(length)
__nullterminated__readableTo(sentinel(0))
__inner_success(expr)
__success(expr)__inner_success(expr)
__readableTo(extent)

BaseTypes.h

typedef
typedefC/C++.NETC#Remarks
#define
#defineC/C++Remarks
EXTERN_Cextern "C"
STDAPICALLTYPE__stdcall

windows.h

vadefs.h

typedef
typedefC/C++.NETC#Remarks
va_listchar *
#define
#defineC/C++Remarks

BaseTsd.h

typedef
typedefC/C++.NETC#Remarks
ULONG_PTR_W64 unsigned longSystem.UInt32uint
DWORD_PTRULONG_PTRSystem.UInt32uint
#define
#defineC/C++Remarks

sourceannotations.h

typedef
typedefC/C++.NETC#Remarks
#define
#defineC/C++Remarks
_W64__w64

Amazon アソシエイト