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, ainsi que 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 : character, integer, Boolean, pointer et handle. Les types caractère, entier et booléen 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 Entiers volumineux.

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
ATOME 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;
OCTET Octet (8 bits).
Ce type est déclaré dans WinDef.h comme suit :
typedef unsigned char BYTE;
RAPPEL Convention d’appel pour les fonctions de rappel.
Ce type est déclaré dans WinDef.h comme suit :
#define CALLBACK __stdcall
CALLBACK, WINAPI et 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 vous aider à identifier la fonction en tant que fonction de rappel.
CCHAR Caractère Windows 8 bits (ANSI).
Ce type est déclaré dans WinNT.h comme suit :
typedef char CCHAR;
CHAR Caractère Windows 8 bits (ANSI). 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). Pour plus d’informations sur ce type, consultez COLORREF .
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écimal.
Ce type est déclaré dans IntSafe.h comme suit :
typedef unsigned long DWORD;
DWORDLONG Entier 64 bits non signé. La plage est comprise entre 0 et 18446744073709551615 décimal.
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 lors de la conversion d’un pointeur vers un type long pour effectuer des opérations arithmétiques 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 64 bits non signé.
Ce type est déclaré dans BaseTsd.h comme suit :
typedef unsigned __int64 DWORD64;
FLOTTEUR Variable à virgule flottante.
Ce type est déclaré dans WinDef.h comme suit :
typedef float FLOAT;
HACCEL Poignée d’une table d’accélérateur.
Ce type est déclaré dans WinDef.h comme suit :
typedef HANDLE HACCEL;
HALF_PTR La 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
POIGNÉE

Handle d’un objet.

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

typedef PVOID HANDLE;

HBITMAP

Handle d’une bitmap.

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

typedef HANDLE HBITMAP;

HBRUSH

Poignée à un pinceau.

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

typedef HANDLE HBRUSH;

HCOLORSPACE

Poignée d’un espace de couleurs.

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

typedef HANDLE HCOLORSPACE;

HCONV

Handle pour une conversation d’échange de données dynamiques (DDE).

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

typedef HANDLE HCONV;

HCONVLIST

Handle d’une liste de conversations DDE.

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

typedef HANDLE HCONVLIST;

HCURSOR

Poignée d’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 vers 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 d’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 d’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 par CreateFile.

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

typedef int HFILE;

HFONT

Handle d’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 à un crochet.

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

typedef HANDLE HHOOK;

HICON

Handle d’une icône.

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

typedef HANDLE HICON;

ENTRAVE

Handle pour 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 choses différentes dans Windows 16 bits.

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

typedef HANDLE HINSTANCE;

HKEY

Handle d’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 d’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 d’un module. Il s’agit de l’adresse de base du module en mémoire.

HMODULE et HINSTANCE sont identiques dans les versions actuelles de Windows, mais ils 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 d’un moniteur d’affichage.

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

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

HPALETTE

Handle 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;

RHSRC

Handle d’une ressource.

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

typedef HANDLE HRSRC;

HSZ

Handle d’une chaîne DDE.

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

typedef HANDLE HSZ;

HWINSTA

Poignée d’une station de fenêtre.

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

typedef HANDLE WINSTA;

HWND

Handle d’une fenêtre.

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

typedef HANDLE HWND;

INT

Entier signé 32 bits. La plage est de -2147483648 à 2147483647 décimal.

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 lors de la conversion d’un pointeur en entier pour effectuer des opérations arithmétiques 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 de -2147483648 à 2147483647 décimal.

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

typedef signed int INT32;

INT64

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

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 régionaux.

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

typedef DWORD LCID;

LCTYPE

Type d’informations de 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 de -2147483648 à 2147483647 décimal.

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

typedef long LONG;

LONGLONG

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

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 lors de la conversion d’un pointeur vers un pointeur long pour effectuer l’arithmétique du 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 de -2147483648 à 2147483647 décimal.

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

typedef signed int LONG32;

LONG64

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

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 un BYTE.

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

typedef BYTE far *LPBYTE;

LPCOLORREF

Pointeur vers une valeur COLORREF .

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

typedef DWORD *LPCOLORREF;

LPCSTR

Pointeur vers une chaîne null constante 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 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 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 null constante 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 un DWORD.

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 un INT.

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 null de caractères Windows 8 bits (ANSI). 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 MOT.

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

typedef WORD *LPWORD;

LPWSTR

Pointeur vers une chaîne 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 un BOOLEAN.

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

typedef BOOLEAN *PBOOLEAN;

PBYTE

Pointeur vers un BYTE.

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 une valeur 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, sinon un PCSTR . 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 un caractère Unicode de 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 un DWORD.

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

typedef DWORD *PDWORD;

PDWORDLONG

Pointeur vers un DWORDLONG.

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 un float.

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 une clé HKEY.

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

typedef HKEY *PHKEY;

PINTE

Pointeur vers un INT.

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 aux signes.

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 un short.

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 un TBYTE.

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, sinon un RTC. 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 MOT.

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 64 bits non signé.

Ce type est déclaré comme suit :

typedef unsigned __int64 QWORD;

SC_HANDLE

Handle pour 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 à 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;

COURT

Entier 16 bits. La plage est comprise entre -32768 et 32767 décimaux.

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. Utilisez pour un nombre qui doit s’étendre sur toute la plage 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

WCHAR si UNICODE est défini, sinon char.

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

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

WCHAR si UNICODE est défini, sinon char.

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

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

Char non signé.

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

typedef unsigned char UCHAR;

UHALF_PTR

Un HALF_PTR non 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

Int non signé. La plage est comprise entre 0 et 4294967295 décimal.

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

typedef unsigned int UINT;

UINT_PTR

Un INT_PTR non 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

INT8 non signé.

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

typedef unsigned char UINT8;

UINT16

INT16 non signé.

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

typedef unsigned short UINT16;

UINT32

INT32 non signé. La plage est comprise entre 0 et 4294967295 décimal.

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

typedef unsigned int UINT32;

UINT64

INT64 non signé. La plage est comprise entre 0 et 18446744073709551615 décimal.

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

typedef unsigned __int64 UINT64;

ULONG

Long non signé. La plage est comprise entre 0 et 4294967295 décimal.

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

typedef unsigned long ULONG;

ULONGLONG

Entier 64 bits non signé. La plage est comprise entre 0 et 18446744073709551615 décimal.

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_PTR non 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

Long32 non signé. La plage est comprise entre 0 et 4294967295 décimal.

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

typedef unsigned int ULONG32;

ULONG64

Long64 non signé. La plage est comprise entre 0 et 18446744073709551615 décimal.

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

UN SHORT non signé. La plage est comprise entre 0 et 65535 décimaux.

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;

VIDE

Tout 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, WINAPI et 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 vous aider à identifier la fonction en tant que fonction de rappel.

MOT

Entier non signé 16 bits. La plage est comprise entre 0 et 65535 décimaux.

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;

Spécifications

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