Partager via


Types de données Windows

Les types de données pris en charge par Windows sont utilisés pour définir des valeurs de retour de fonction, des paramètres de fonction et de message et des membres de structure. Ils définissent la taille et la signification de ces éléments. Pour plus d’informations sur les types de données C/C++ sous-jacents, consultez plages de types de données.

Le tableau suivant contient les types suivants : caractère, entier, booléen, pointeur et handle. Les types caractères, entiers et booléens sont communs à la plupart des compilateurs C. La plupart des noms de type pointeur commencent par un préfixe P ou LP. Les handles font référence à une ressource qui a été chargée en mémoire.

Pour plus d’informations sur la gestion des entiers 64 bits, consultez grands entiers.

Type de données Description
APIENTRY Convention d’appel pour les fonctions système.
Ce type est déclaré dans WinDef.h comme suit :
#define APIENTRY WINAPI
ATOM Un atome. Pour plus d’informations, consultez À propos des tables Atom.
Ce type est déclaré dans WinDef.h comme suit :
typedef WORD ATOM;
BOOL Variable booléenne (doit être TRUE ou FALSE).
Ce type est déclaré dans WinDef.h comme suit :
typedef int BOOL;
BOOLEAN Variable booléenne (doit être TRUE ou FALSE).
Ce type est déclaré dans WinNT.h comme suit :
typedef BYTE BOOLEAN;
BYTE Octet (8 bits).
Ce type est déclaré dans WinDef.h comme suit :
typedef unsigned char BYTE;
CALLBACK Convention d’appel pour les fonctions de rappel.
Ce type est déclaré dans WinDef.h comme suit :
#define CALLBACK __stdcall
CALLBACK, WINAPIet APIENTRY sont tous utilisés pour définir des fonctions avec la convention d’appel __stdcall. La plupart des fonctions de l’API Windows sont déclarées à l’aide de WINAPI . Vous pouvez utiliser CALLBACK pour les fonctions de rappel que vous implémentez pour identifier la fonction comme fonction de rappel.
CCHAR Caractère Windows (ANSI) 8 bits.
Ce type est déclaré dans WinNT.h comme suit :
typedef char CCHAR;
CHAR Caractère Windows (ANSI) 8 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.
Ce type est déclaré dans WinNT.h comme suit :
typedef char CHAR;
COLORREF Valeur de couleur rouge, vert, bleu (RVB) (32 bits). Consultez COLORREF pour plus d’informations sur ce type.
Ce type est déclaré dans WinDef.h comme suit :
typedef DWORD COLORREF;
CONST Variable dont la valeur doit rester constante pendant l’exécution.
Ce type est déclaré dans WinDef.h comme suit :
#define CONST const
DWORD Entier non signé 32 bits. La plage est comprise entre 0 et 4294967295 décimale.
Ce type est déclaré dans IntSafe.h comme suit :
typedef unsigned long DWORD;
DWORDLONG Entier non signé 64 bits. La plage est de 0 à 18446744073709551615 décimale.
Ce type est déclaré dans IntSafe.h comme suit :
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Type long non signé pour la précision du pointeur. Utilisez-la lors du cast d’un pointeur vers un type long pour effectuer une arithmétique de pointeur. (Également couramment utilisé pour les paramètres généraux 32 bits qui ont été étendus à 64 bits dans Windows 64 bits.)
Ce type est déclaré dans BaseTsd.h comme suit :
typedef ULONG_PTR DWORD_PTR;
DWORD32 Entier non signé 32 bits.
Ce type est déclaré dans BaseTsd.h comme suit :
typedef unsigned int DWORD32;
DWORD64 Entier non signé 64 bits.
Ce type est déclaré dans BaseTsd.h comme suit :
typedef unsigned __int64 DWORD64;
FLOAT Variable à virgule flottante.
Ce type est déclaré dans WinDef.h comme suit :
typedef float FLOAT;
HACCEL Handle vers une table d’accélérateur .
Ce type est déclaré dans WinDef.h comme suit :
typedef HANDLE HACCEL;
HALF_PTR Moitié de la taille d’un pointeur. Utilisez dans une structure qui contient un pointeur et deux petits champs.
Ce type est déclaré dans BaseTsd.h comme suit :
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

Handle vers un objet.

Ce type est déclaré dans WinNT.h comme suit :

typedef PVOID HANDLE;

HBITMAP

Handle vers unbitmap .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HBITMAP;

HBRUSH

Poignée d’un pinceau .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HBRUSH;

HCOLORSPACE

Handle vers un espace de couleur .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HCOLORSPACE;

HCONV

Handle vers une conversation d’échange de données dynamique (DDE).

Ce type est déclaré dans Ddeml.h comme suit :

typedef HANDLE HCONV;

HCONVLIST

Handle vers une liste de conversations DDE.

Ce type est déclaré dans Ddeml.h comme suit :

typedef HANDLE HCONVLIST;

HCURSOR

Handle vers un curseur .

Ce type est déclaré dans WinDef.h comme suit :

typedef HICON HCURSOR;

HDC

Handle vers un contexte d’appareil (DC).

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HDC;

HDDEDATA

Handle pour les données DDE.

Ce type est déclaré dans Ddeml.h comme suit :

typedef HANDLE HDDEDATA;

HDESK

Handle vers un bureau .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HDESK;

HDROP

Handle vers une structure de suppression interne.

Ce type est déclaré dans ShellApi.h comme suit :

typedef HANDLE HDROP;

HDWP

Handle vers une structure de position de fenêtre différée.

Ce type est déclaré dans WinUser.h comme suit :

typedef HANDLE HDWP;

HENHMETAFILE

Handle vers un métafichier amélioré.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HENHMETAFILE;

HFILE

Handle d’un fichier ouvert par openFile, et non CreateFile.

Ce type est déclaré dans WinDef.h comme suit :

typedef int HFILE;

HFONT

Handle vers une police .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HFONT;

HGDIOBJ

Handle d’un objet GDI.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HGDIOBJ;

HGLOBAL

Handle vers un bloc de mémoire global.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HGLOBAL;

HHOOK

Poignée d’un crochet .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HHOOK;

HICON

Handle vers une icône de .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HICON;

HINSTANCE

Handle vers une instance. Il s’agit de l’adresse de base du module en mémoire.

HMODULE et HINSTANCE sont les mêmes aujourd’hui, mais représentent des éléments différents dans Windows 16 bits.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HINSTANCE;

HKEY

Handle vers une clé de Registre.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HKEY;

HKL

Identificateur de paramètres régionaux d’entrée.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HKL;

HLOCAL

Handle vers un bloc de mémoire local.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HLOCAL;

HMENU

Handle vers un menu .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HMENU;

HMETAFILE

Handle d’un métafichier .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HMETAFILE;

HMODULE

Handle vers un module. Il s’agit de l’adresse de base du module en mémoire.

HMODULE et HINSTANCE sont les mêmes dans les versions actuelles de Windows, mais représentent des éléments différents dans Windows 16 bits.

Ce type est déclaré dans WinDef.h comme suit :

typedef HINSTANCE HMODULE;

HMONITOR

Handle vers un moniteur d’affichage.

Ce type est déclaré dans WinDef.h comme suit :

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

HPALETTE

Poignée d’une palette.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HPALETTE;

HPEN

Poignée d’un stylet .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HPEN;

HRESULT

Codes de retour utilisés par les interfaces COM. Pour plus d’informations, consultez structure des codes d’erreur COM. Pour tester une valeur HRESULT, utilisez les macros FAILED et SUCCEEDED.

Ce type est déclaré dans WinNT.h comme suit :

typedef LONG HRESULT;

HRGN

Handle vers une région .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HRGN;

HRSRC

Handle vers une ressource.

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HRSRC;

HSZ

Handle vers une chaîne DDE.

Ce type est déclaré dans Ddeml.h comme suit :

typedef HANDLE HSZ;

HWINSTA

Handle vers une station de fenêtre .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE WINSTA;

HWND

Handle vers une fenêtre .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE HWND;

INT

Entier signé 32 bits. La plage est -2147483648 par 2147483647 décimale.

Ce type est déclaré dans WinDef.h comme suit :

typedef int INT;

INT_PTR

Type entier signé pour la précision du pointeur. Utilisez cette option lors de la conversion d’un pointeur vers un entier pour effectuer une arithmétique de pointeur.

Ce type est déclaré dans BaseTsd.h comme suit :

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

Entier signé 8 bits.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef signed char INT8;

INT16

Entier signé 16 bits.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef signed short INT16;

INT32

Entier signé 32 bits. La plage est -2147483648 par 2147483647 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef signed int INT32;

INT64

Entier signé 64 bits. La plage est -9223372036854775808 à 9223372036854775807 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef signed __int64 INT64;

LANGID

Identificateur de langue. Pour plus d’informations, consultez identificateurs de langue.

Ce type est déclaré dans WinNT.h comme suit :

typedef WORD LANGID;

LCID

Identificateur de paramètres régionaux. Pour plus d’informations, consultez Identificateurs de paramètres régionaux.

Ce type est déclaré dans WinNT.h comme suit :

typedef DWORD LCID;

LCTYPE

Type d’informations sur les paramètres régionaux. Pour obtenir une liste, consultez constantes d’informations de paramètres régionaux.

Ce type est déclaré dans WinNls.h comme suit :

typedef DWORD LCTYPE;

LGRPID

Identificateur de groupe de langues. Pour obtenir une liste, consultez EnumLanguageGroupLocales.

Ce type est déclaré dans WinNls.h comme suit :

typedef DWORD LGRPID;

LONG

Entier signé 32 bits. La plage est -2147483648 par 2147483647 décimale.

Ce type est déclaré dans WinNT.h comme suit :

typedef long LONG;

LONGLONG

Entier signé 64 bits. La plage est -9223372036854775808 à 9223372036854775807 décimale.

Ce type est déclaré dans WinNT.h comme suit :

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

Type long signé pour la précision du pointeur. Utilisez-la lors de la conversion d’un pointeur vers un pointeur long pour effectuer une arithmétique de pointeur.

Ce type est déclaré dans BaseTsd.h comme suit :

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

Entier signé 32 bits. La plage est -2147483648 par 2147483647 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef signed int LONG32;

LONG64

Entier signé 64 bits. La plage est -9223372036854775808 à 9223372036854775807 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef __int64 LONG64;

LPARAM

Paramètre de message.

Ce type est déclaré dans WinDef.h comme suit :

typedef LONG_PTR LPARAM;

LPBOOL

Pointeur vers un BOOL.

Ce type est déclaré dans WinDef.h comme suit :

typedef BOOL far *LPBOOL;

LPBYTE

Pointeur vers unBYTE .

Ce type est déclaré dans WinDef.h comme suit :

typedef BYTE far *LPBYTE;

LPCOLORREF

Pointeur vers une valeur de COLORREF.

Ce type est déclaré dans WinDef.h comme suit :

typedef DWORD *LPCOLORREF;

LPCSTR

Pointeur vers une chaîne constante terminée par null de caractères Windows (ANSI) 8 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

Une LPCWSTR si UNICODE est défini, une LPCSTR sinon. Pour plus d’informations, consultez types de données Windows pour les chaînes.

Ce type est déclaré dans WinNT.h comme suit :

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

Pointeur vers une constante de n’importe quel type.

Ce type est déclaré dans WinDef.h comme suit :

typedef CONST void *LPCVOID;

LPCWSTR

Pointeur vers une chaîne constante terminée par null de caractères Unicode 16 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef CONST WCHAR *LPCWSTR;

LPDWORD

Pointeur vers unDWORD .

Ce type est déclaré dans WinDef.h comme suit :

typedef DWORD *LPDWORD;

LPHANDLE

Pointeur vers un handle .

Ce type est déclaré dans WinDef.h comme suit :

typedef HANDLE *LPHANDLE;

LPINT

Pointeur vers unINT .

Ce type est déclaré dans WinDef.h comme suit :

typedef int *LPINT;

LPLONG

Pointeur vers un LONG.

Ce type est déclaré dans WinDef.h comme suit :

typedef long *LPLONG;

LPSTR

Pointeur vers une chaîne terminée par null de caractères Windows (ANSI) 8 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef CHAR *LPSTR;

LPTSTR

Une LPWSTR si UNICODE est défini, une LPSTR dans le cas contraire. Pour plus d’informations, consultez types de données Windows pour les chaînes.

Ce type est déclaré dans WinNT.h comme suit :

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

Pointeur vers n’importe quel type.

Ce type est déclaré dans WinDef.h comme suit :

typedef void *LPVOID;

LPWORD

Pointeur vers un WORD.

Ce type est déclaré dans WinDef.h comme suit :

typedef WORD *LPWORD;

LPWSTR

Pointeur vers une chaîne terminée par null de caractères Unicode 16 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef WCHAR *LPWSTR;

LRESULT

Résultat signé du traitement des messages.

Ce type est déclaré dans WinDef.h comme suit :

typedef LONG_PTR LRESULT;

PBOOL

Pointeur vers un BOOL.

Ce type est déclaré dans WinDef.h comme suit :

typedef BOOL *PBOOL;

PBOOLEAN

Pointeur vers unBOOLEAN .

Ce type est déclaré dans WinNT.h comme suit :

typedef BOOLEAN *PBOOLEAN;

PBYTE

Pointeur vers unBYTE .

Ce type est déclaré dans WinDef.h comme suit :

typedef BYTE *PBYTE;

PCHAR

Pointeur vers un CHAR.

Ce type est déclaré dans WinNT.h comme suit :

typedef CHAR *PCHAR;

PCSTR

Pointeur vers une chaîne constante terminée par null de caractères Windows (ANSI) 8 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef CONST CHAR *PCSTR;

PCTSTR

Un PCWSTR si UNICODE est défini, une PCSTR dans le cas contraire. Pour plus d’informations, consultez types de données Windows pour les chaînes.

Ce type est déclaré dans WinNT.h comme suit :

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

Pointeur vers une chaîne constante terminée par null de caractères Unicode 16 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef CONST WCHAR *PCWSTR;

PDWORD

Pointeur vers unDWORD .

Ce type est déclaré dans WinDef.h comme suit :

typedef DWORD *PDWORD;

PDWORDLONG

Pointeur vers unDWORDLONG .

Ce type est déclaré dans WinNT.h comme suit :

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Pointeur vers un DWORD_PTR.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Pointeur vers un DWORD32.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef DWORD32 *PDWORD32;

PDWORD64

Pointeur vers un DWORD64.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef DWORD64 *PDWORD64;

PFLOAT

Pointeur vers unFLOAT .

Ce type est déclaré dans WinDef.h comme suit :

typedef FLOAT *PFLOAT;

PHALF_PTR

Pointeur vers un HALF_PTR.

Ce type est déclaré dans BaseTsd.h comme suit :

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

Pointeur vers un handle .

Ce type est déclaré dans WinNT.h comme suit :

typedef HANDLE *PHANDLE;

PHKEY

Pointeur vers unHKEY .

Ce type est déclaré dans WinDef.h comme suit :

typedef HKEY *PHKEY;

PINT

Pointeur vers unINT .

Ce type est déclaré dans WinDef.h comme suit :

typedef int *PINT;

PINT_PTR

Pointeur vers un INT_PTR.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef INT_PTR *PINT_PTR;

PINT8

Pointeur vers un INT8.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef INT8 *PINT8;

PINT16

Pointeur vers un INT16.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef INT16 *PINT16;

PINT32

Pointeur vers un INT32.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef INT32 *PINT32;

PINT64

Pointeur vers un INT64.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef INT64 *PINT64;

PLCID

Pointeur vers un LCID.

Ce type est déclaré dans WinNT.h comme suit :

typedef PDWORD PLCID;

PLONG

Pointeur vers un LONG.

Ce type est déclaré dans WinNT.h comme suit :

typedef LONG *PLONG;

PLONGLONG

Pointeur vers un LONGLONG.

Ce type est déclaré dans WinNT.h comme suit :

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Pointeur vers un LONG_PTR.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef LONG_PTR *PLONG_PTR;

PLONG32

Pointeur vers un LONG32.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef LONG32 *PLONG32;

PLONG64

Pointeur vers un LONG64.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef LONG64 *PLONG64;

POINTER_32

Pointeur 32 bits. Sur un système 32 bits, il s’agit d’un pointeur natif. Sur un système 64 bits, il s’agit d’un pointeur 64 bits tronqué.

Ce type est déclaré dans BaseTsd.h comme suit :

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

Pointeur 64 bits. Sur un système 64 bits, il s’agit d’un pointeur natif. Sur un système 32 bits, il s’agit d’un pointeur 32 bits étendu.

Notez qu’il n’est pas sûr de supposer l’état du bit de pointeur élevé.

Ce type est déclaré dans BaseTsd.h comme suit :

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

Pointeur signé.

Ce type est déclaré dans BaseTsd.h comme suit :

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

Pointeur non signé.

Ce type est déclaré dans BaseTsd.h comme suit :

#define POINTER_UNSIGNED __uptr

PSHORT

Pointeur vers unSHORT .

Ce type est déclaré dans WinNT.h comme suit :

typedef SHORT *PSHORT;

PSIZE_T

Pointeur vers un SIZE_T.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Pointeur vers un SSIZE_T.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef SSIZE_T *PSSIZE_T;

PSTR

Pointeur vers une chaîne terminée par null de caractères Windows (ANSI) 8 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef CHAR *PSTR;

PTBYTE

Pointeur vers unTBYTE .

Ce type est déclaré dans WinNT.h comme suit :

typedef TBYTE *PTBYTE;

PTCHAR

Pointeur vers un TCHAR.

Ce type est déclaré dans WinNT.h comme suit :

typedef TCHAR *PTCHAR;

PTSTR

Un PWSTR si UNICODE est défini, un PSTR dans le cas contraire. Pour plus d’informations, consultez types de données Windows pour les chaînes.

Ce type est déclaré dans WinNT.h comme suit :

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

Pointeur vers un UCHAR.

Ce type est déclaré dans WinDef.h comme suit :

typedef UCHAR *PUCHAR;

PUHALF_PTR

Pointeur vers un UHALF_PTR.

Ce type est déclaré dans BaseTsd.h comme suit :

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

Pointeur vers un UINT.

Ce type est déclaré dans WinDef.h comme suit :

typedef UINT *PUINT;

PUINT_PTR

Pointeur vers un UINT_PTR.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef UINT_PTR *PUINT_PTR;

PUINT8

Pointeur vers un UINT8.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef UINT8 *PUINT8;

PUINT16

Pointeur vers un UINT16.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef UINT16 *PUINT16;

PUINT32

Pointeur vers un UINT32.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef UINT32 *PUINT32;

PUINT64

Pointeur vers un UINT64.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef UINT64 *PUINT64;

PULONG

Pointeur vers un ULONG .

Ce type est déclaré dans WinDef.h comme suit :

typedef ULONG *PULONG;

PULONGLONG

Pointeur vers un ULONGLONG.

Ce type est déclaré dans WinDef.h comme suit :

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Pointeur vers un ULONG_PTR.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Pointeur vers un ULONG32.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef ULONG32 *PULONG32;

PULONG64

Pointeur vers un ULONG64.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef ULONG64 *PULONG64;

PUSHORT

Pointeur vers un USHORT.

Ce type est déclaré dans WinDef.h comme suit :

typedef USHORT *PUSHORT;

PVOID

Pointeur vers n’importe quel type.

Ce type est déclaré dans WinNT.h comme suit :

typedef void *PVOID;

PWCHAR

Pointeur vers un WCHAR.

Ce type est déclaré dans WinNT.h comme suit :

typedef WCHAR *PWCHAR;

PWORD

Pointeur vers un WORD.

Ce type est déclaré dans WinDef.h comme suit :

typedef WORD *PWORD;

PWSTR

Pointeur vers une chaîne terminée par null de caractères Unicode 16 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef WCHAR *PWSTR;

QWORD

Entier non signé 64 bits.

Ce type est déclaré comme suit :

typedef unsigned __int64 QWORD;

SC_HANDLE

Handle vers une base de données du gestionnaire de contrôle de service. Pour plus d’informations, consultez handles SCM.

Ce type est déclaré dans WinSvc.h comme suit :

typedef HANDLE SC_HANDLE;

SC_LOCK

Verrou d’une base de données du gestionnaire de contrôle de service. Pour plus d’informations, consultez handles SCM.

Ce type est déclaré dans WinSvc.h comme suit :

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Handle vers une valeur d’état de service. Pour plus d’informations, consultez handles SCM.

Ce type est déclaré dans WinSvc.h comme suit :

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

Entier 16 bits. La plage est -32768 à 32767 décimales.

Ce type est déclaré dans WinNT.h comme suit :

typedef short SHORT;

SIZE_T

Nombre maximal d’octets vers lesquels un pointeur peut pointer. Permet d’utiliser un nombre qui doit couvrir la plage complète d’un pointeur.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef ULONG_PTR SIZE_T;

SSIZE_T

Version signée de SIZE_T.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef LONG_PTR SSIZE_T;

TBYTE

Un WCHAR si UNICODE est défini, un CHAR dans le cas contraire.

Ce type est déclaré dans WinNT.h comme suit :

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

Un WCHAR si UNICODE est défini, un CHAR dans le cas contraire.

Ce type est déclaré dans WinNT.h comme suit :

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

Unchar non signé .

Ce type est déclaré dans WinDef.h comme suit :

typedef unsigned char UCHAR;

UHALF_PTR

Un HALF_PTRnon signé . Utilisez dans une structure qui contient un pointeur et deux petits champs.

Ce type est déclaré dans BaseTsd.h comme suit :

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

Un INT non signé. La plage est comprise entre 0 et 4294967295 décimale.

Ce type est déclaré dans WinDef.h comme suit :

typedef unsigned int UINT;

UINT_PTR

Un INT_PTRnon signé .

Ce type est déclaré dans BaseTsd.h comme suit :

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

Un INT8 non signé.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef unsigned char UINT8;

UINT16

Un INT16 non signé.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef unsigned short UINT16;

UINT32

Un int32 non signé. La plage est comprise entre 0 et 4294967295 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef unsigned int UINT32;

UINT64

Un INT64 non signé. La plage est de 0 à 18446744073709551615 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef unsigned __int64 UINT64;

ULONG

UnLONG non signé . La plage est comprise entre 0 et 4294967295 décimale.

Ce type est déclaré dans WinDef.h comme suit :

typedef unsigned long ULONG;

ULONGLONG

Entier non signé 64 bits. La plage est de 0 à 18446744073709551615 décimale.

Ce type est déclaré dans WinNT.h comme suit :

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

Un LONG_PTRnon signé .

Ce type est déclaré dans BaseTsd.h comme suit :

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

UnLONG32 non signé . La plage est comprise entre 0 et 4294967295 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef unsigned int ULONG32;

ULONG64

UnLONG64 non signé . La plage est de 0 à 18446744073709551615 décimale.

Ce type est déclaré dans BaseTsd.h comme suit :

typedef unsigned __int64 ULONG64;

UNICODE_STRING

Chaîne Unicode.

Ce type est déclaré dans Winternl.h comme suit :

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

Unshort non signé . La plage est de 0 à 65535 décimales.

Ce type est déclaré dans WinDef.h comme suit :

typedef unsigned short USHORT;

USN

Numéro de séquence de mise à jour (USN).

Ce type est déclaré dans WinNT.h comme suit :

typedef LONGLONG USN;

VOID

N’importe quel type.

Ce type est déclaré dans WinNT.h comme suit :

#define VOID void

WCHAR

Caractère Unicode 16 bits. Pour plus d’informations, consultez jeux de caractères utilisés par les polices.

Ce type est déclaré dans WinNT.h comme suit :

typedef wchar_t WCHAR;

WINAPI

Convention d’appel pour les fonctions système.

Ce type est déclaré dans WinDef.h comme suit :

#define WINAPI __stdcall

CALLBACK, WINAPIet APIENTRY sont tous utilisés pour définir des fonctions avec la convention d’appel __stdcall. La plupart des fonctions de l’API Windows sont déclarées à l’aide de WINAPI . Vous pouvez utiliser CALLBACK pour les fonctions de rappel que vous implémentez pour identifier la fonction comme fonction de rappel.

WORD

Entier non signé 16 bits. La plage est de 0 à 65535 décimales.

Ce type est déclaré dans WinDef.h comme suit :

typedef unsigned short WORD;

WPARAM

Paramètre de message.

Ce type est déclaré dans WinDef.h comme suit :

typedef UINT_PTR WPARAM;

Exigences

Exigence Valeur
Client minimum pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimum pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
BaseTsd.h ;
WinDef.h ;
WinNT.h