Compartir a través de


Tipos de datos de Windows

Los tipos de datos admitidos por Windows se usan para definir valores devueltos de función, parámetros de función y mensaje y miembros de estructura. Definen el tamaño y el significado de estos elementos. Para obtener más información sobre los tipos de datos de C/C++ subyacentes, vea Intervalos de tipos de datos.

La tabla siguiente contiene los siguientes tipos: carácter, entero, booleano, puntero y identificador. Los tipos de caracteres, enteros y booleanos son comunes a la mayoría de los compiladores de C. La mayoría de los nombres de tipo de puntero comienzan con un prefijo de P o LP. Los identificadores hacen referencia a un recurso que se ha cargado en la memoria.

Para obtener más información sobre el control de enteros de 64 bits, vea enteros grandes.

Tipo de dato Descripción
APIENTRY La convención de llamada para las funciones del sistema.
Este tipo se declara en WinDef.h de la siguiente manera:
#define APIENTRY WINAPI
ATOM Un átomo. Para obtener más información, vea Acerca de las tablas Atom.
Este tipo se declara en WinDef.h de la siguiente manera:
typedef WORD ATOM;
BOOL Variable booleana (debe ser TRUE o FALSE).
Este tipo se declara en WinDef.h de la siguiente manera:
typedef int BOOL;
BOOLEAN Variable booleana (debe ser TRUE o FALSE).
Este tipo se declara en WinNT.h como se indica a continuación:
typedef BYTE BOOLEAN;
BYTE Un byte (8 bits).
Este tipo se declara en WinDef.h de la siguiente manera:
typedef unsigned char BYTE;
CALLBACK La convención de llamada para las funciones de devolución de llamada.
Este tipo se declara en WinDef.h de la siguiente manera:
#define CALLBACK __stdcall
CALLBACK, WINAPIy APIENTRY se usan para definir funciones con la convención de llamada __stdcall. La mayoría de las funciones de la API de Windows se declaran mediante WINAPI. Es posible que desee usar CALLBACK para las funciones de devolución de llamada que implemente para ayudar a identificar la función como una función de devolución de llamada.
CCHAR Carácter de Windows (ANSI) de 8 bits.
Este tipo se declara en WinNT.h como se indica a continuación:
typedef char CCHAR;
CHAR Carácter de Windows (ANSI) de 8 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.
Este tipo se declara en WinNT.h como se indica a continuación:
typedef char CHAR;
COLORREF Valor de color rojo, verde, azul (RGB) (32 bits). Consulte COLORREF para obtener información sobre este tipo.
Este tipo se declara en WinDef.h de la siguiente manera:
typedef DWORD COLORREF;
CONST Variable cuyo valor debe permanecer constante durante la ejecución.
Este tipo se declara en WinDef.h de la siguiente manera:
#define CONST const
DWORD Entero de 32 bits sin signo. El intervalo es de 0 a 4294967295 decimal.
Este tipo se declara en IntSafe.h de la siguiente manera:
typedef unsigned long DWORD;
DWORDLONG Entero de 64 bits sin signo. El intervalo es de 0 a 18446744073709551615 decimal.
Este tipo se declara en IntSafe.h de la siguiente manera:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Tipo long sin signo para la precisión del puntero. Úselo al convertir un puntero a un tipo largo para realizar la aritmética del puntero. (También se usa normalmente para parámetros generales de 32 bits que se han ampliado a 64 bits en Windows de 64 bits).
Este tipo se declara en BaseTsd.h de la siguiente manera:
typedef ULONG_PTR DWORD_PTR;
DWORD32 Entero de 32 bits sin signo.
Este tipo se declara en BaseTsd.h de la siguiente manera:
typedef unsigned int DWORD32;
DWORD64 Entero de 64 bits sin signo.
Este tipo se declara en BaseTsd.h de la siguiente manera:
typedef unsigned __int64 DWORD64;
FLOAT Variable de punto flotante.
Este tipo se declara en WinDef.h de la siguiente manera:
typedef float FLOAT;
HACCEL Identificador de una tabla de aceleración de .
Este tipo se declara en WinDef.h de la siguiente manera:
typedef HANDLE HACCEL;
HALF_PTR Mitad del tamaño de un puntero. Use dentro de una estructura que contenga un puntero y dos campos pequeños.
Este tipo se declara en BaseTsd.h de la siguiente manera:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

Identificador de un objeto .

Este tipo se declara en WinNT.h como se indica a continuación:

typedef PVOID HANDLE;

HBITMAP

Identificador de un mapa de bits de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HBITMAP;

HBRUSH

Identificador de un pincel de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HBRUSH;

HCOLORSPACE

Identificador de un espacio de color .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HCOLORSPACE;

HCONV

Identificador de una conversación de intercambio dinámico de datos (DDE).

Este tipo se declara en Ddeml.h como se indica a continuación:

typedef HANDLE HCONV;

HCONVLIST

Identificador de una lista de conversaciones de DDE.

Este tipo se declara en Ddeml.h como se indica a continuación:

typedef HANDLE HCONVLIST;

HCURSOR

Identificador de un cursor .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HICON HCURSOR;

HDC

Identificador de un de contexto de dispositivo (DC) de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HDC;

HDDEDATA

Identificador de los datos DDE.

Este tipo se declara en Ddeml.h como se indica a continuación:

typedef HANDLE HDDEDATA;

HDESK

Identificador de unde escritorio de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HDESK;

HDROP

Identificador de una estructura de colocación interna.

Este tipo se declara en ShellApi.h de la siguiente manera:

typedef HANDLE HDROP;

HDWP

Identificador de una estructura de posición de ventana diferida.

Este tipo se declara en WinUser.h como se indica a continuación:

typedef HANDLE HDWP;

HENHMETAFILE

Identificador de un metarchivo mejorado .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HENHMETAFILE;

HFILE

Identificador de un archivo abierto por openFile, no CreateFile.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef int HFILE;

HFONT

Identificador de una fuente .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HFONT;

HGDIOBJ

Identificador de un objeto GDI.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HGDIOBJ;

HGLOBAL

Identificador de un bloque de memoria global.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HGLOBAL;

HHOOK

Identificador de un enlace de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HHOOK;

HICON

Identificador de un icono de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HICON;

HINSTANCE

Identificador de una instancia. Esta es la dirección base del módulo en memoria.

HMODULE y HINSTANCE son los mismos hoy, pero representan diferentes cosas en Windows de 16 bits.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HINSTANCE;

HKEY

Identificador de una clave del Registro.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HKEY;

HKL

Identificador de configuración regional de entrada.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HKL;

HLOCAL

Identificador de un bloque de memoria local.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HLOCAL;

HMENU

Identificador de un menú de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HMENU;

HMETAFILE

Identificador de un metarchivo de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HMETAFILE;

HMODULE

Identificador de un módulo. Esta es la dirección base del módulo en memoria.

HMODULE y HINSTANCE son los mismos en las versiones actuales de Windows, pero representan diferentes cosas en Windows de 16 bits.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HINSTANCE HMODULE;

HMONITOR

Identificador de un monitor de visualización.

Este tipo se declara en WinDef.h de la siguiente manera:

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

HPALETTE

Identificador de una paleta.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HPALETTE;

HPEN

Identificador de un lápiz de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HPEN;

HRESULT

Códigos de retorno usados por interfaces COM. Para obtener más información, vea Estructura de los códigos de error COM. Para probar un valor de HRESULT, use las macros FAILED y SUCCEEDED.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef LONG HRESULT;

HRGN

Identificador de una región de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HRGN;

HRSRC

Identificador de un recurso.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HRSRC;

HSZ

Identificador de una cadena DDE.

Este tipo se declara en Ddeml.h como se indica a continuación:

typedef HANDLE HSZ;

HWINSTA

Identificador de una estación de ventana de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE WINSTA;

HWND

Identificador de una ventana de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE HWND;

INT

Entero de 32 bits con signo. El intervalo se -2147483648 a través de 2147483647 decimal.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef int INT;

INT_PTR

Tipo entero con signo para la precisión del puntero. Úselo al convertir un puntero a un entero para realizar la aritmética del puntero.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Entero de 8 bits con signo.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef signed char INT8;

INT16

Entero de 16 bits con signo.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef signed short INT16;

INT32

Entero de 32 bits con signo. El intervalo se -2147483648 a través de 2147483647 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef signed int INT32;

INT64

Entero de 64 bits con signo. El intervalo se -9223372036854775808 a 9223372036854775807 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef signed __int64 INT64;

LANGID

Identificador de idioma. Para obtener más información, consulte identificadores de idioma.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef WORD LANGID;

LCID

Identificador de configuración regional. Para obtener más información, vea Identificadores de configuración regional.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef DWORD LCID;

LCTYPE

Tipo de información de configuración regional. Para obtener una lista, vea constantes de información de configuración regional.

Este tipo se declara en WinNls.h como se indica a continuación:

typedef DWORD LCTYPE;

LGRPID

Identificador de grupo de idioma. Para obtener una lista, vea EnumLanguageGroupLocales.

Este tipo se declara en WinNls.h como se indica a continuación:

typedef DWORD LGRPID;

LONG

Entero de 32 bits con signo. El intervalo se -2147483648 a través de 2147483647 decimal.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef long LONG;

LONGLONG

Entero de 64 bits con signo. El intervalo se -9223372036854775808 a 9223372036854775807 decimal.

Este tipo se declara en WinNT.h como se indica a continuación:

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

Tipo largo con signo para precisión de puntero. Úselo al convertir un puntero a un long para realizar la aritmética del puntero.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Entero de 32 bits con signo. El intervalo se -2147483648 a través de 2147483647 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef signed int LONG32;

LONG64

Entero de 64 bits con signo. El intervalo se -9223372036854775808 a 9223372036854775807 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef __int64 LONG64;

LPARAM

Parámetro de mensaje.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef LONG_PTR LPARAM;

LPBOOL

Puntero a un BOOL.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef BOOL far *LPBOOL;

LPBYTE

Puntero a unBYTE de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef BYTE far *LPBYTE;

LPCOLORREF

Puntero a un valor de COLORREF.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef DWORD *LPCOLORREF;

LPCSTR

Puntero a una cadena constante terminada en null de caracteres de Windows (ANSI) de 8 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

LPCWSTR si se define UNICODE, LPCSTR de . Para obtener más información, vea tipos de datos de Windows para cadenas.

Este tipo se declara en WinNT.h como se indica a continuación:

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

Puntero a una constante de cualquier tipo.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef CONST void *LPCVOID;

LPCWSTR

Puntero a una cadena terminada en null constante de caracteres Unicode de 16 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

Puntero a unDWORD de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef DWORD *LPDWORD;

LPHANDLE

Puntero a un HANDLE.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HANDLE *LPHANDLE;

LPINT

Puntero a un INT.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef int *LPINT;

LPLONG

Puntero a un LONG.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef long *LPLONG;

LPSTR

Puntero a una cadena terminada en null de caracteres de Windows (ANSI) de 8 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef CHAR *LPSTR;

LPTSTR

LPWSTR si se define UNICODE, LPSTR. Para obtener más información, vea tipos de datos de Windows para cadenas.

Este tipo se declara en WinNT.h como se indica a continuación:

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

Puntero a cualquier tipo.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef void *LPVOID;

LPWORD

Puntero a un WORD.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef WORD *LPWORD;

LPWSTR

Puntero a una cadena terminada en null de caracteres Unicode de 16 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef WCHAR *LPWSTR;

LRESULT

Resultado firmado del procesamiento de mensajes.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef LONG_PTR LRESULT;

PBOOL

Puntero a un BOOL.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef BOOL *PBOOL;

PBOOLEAN

Puntero a unbooleano de .

Este tipo se declara en WinNT.h como se indica a continuación:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Puntero a unBYTE de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef BYTE *PBYTE;

PCHAR

Puntero a un CHAR.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef CHAR *PCHAR;

PCSTR

Puntero a una cadena constante terminada en null de caracteres de Windows (ANSI) de 8 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef CONST CHAR *PCSTR;

PCTSTR

Un PCWSTR de si se define UNICODE, pcSTR de . Para obtener más información, vea tipos de datos de Windows para cadenas.

Este tipo se declara en WinNT.h como se indica a continuación:

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

Puntero a una cadena terminada en null constante de caracteres Unicode de 16 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef CONST WCHAR *PCWSTR;

PDWORD

Puntero a unDWORD de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef DWORD *PDWORD;

PDWORDLONG

Puntero a unDWORDLONG de .

Este tipo se declara en WinNT.h como se indica a continuación:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Puntero a un DWORD_PTR.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Puntero a un DWORD32.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef DWORD32 *PDWORD32;

PDWORD64

Puntero a un DWORD64.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef DWORD64 *PDWORD64;

PFLOAT

Puntero a un FLOAT.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef FLOAT *PFLOAT;

PHALF_PTR

Puntero a un HALF_PTR.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Puntero a un HANDLE.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef HANDLE *PHANDLE;

PHKEY

Puntero a unHKEY de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef HKEY *PHKEY;

PINT

Puntero a un INT.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef int *PINT;

PINT_PTR

Puntero a un INT_PTR.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef INT_PTR *PINT_PTR;

PINT8

Puntero a un INT8.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef INT8 *PINT8;

PINT16

Puntero a un INT16.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef INT16 *PINT16;

PINT32

Puntero a un INT32.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef INT32 *PINT32;

PINT64

Puntero a un INT64.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef INT64 *PINT64;

PLCID

Puntero a una LCID.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef PDWORD PLCID;

PLONG

Puntero a un LONG.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef LONG *PLONG;

PLONGLONG

Puntero a un LONGLONG.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Puntero a un LONG_PTR.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef LONG_PTR *PLONG_PTR;

PLONG32

Puntero a un LONG32.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef LONG32 *PLONG32;

PLONG64

Puntero a un LONG64.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef LONG64 *PLONG64;

POINTER_32

Puntero de 32 bits. En un sistema de 32 bits, se trata de un puntero nativo. En un sistema de 64 bits, se trata de un puntero de 64 bits truncado.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Puntero de 64 bits. En un sistema de 64 bits, se trata de un puntero nativo. En un sistema de 32 bits, se trata de un puntero de 32 bits extendido por signo.

Tenga en cuenta que no es seguro asumir el estado del bit de puntero alto.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Puntero firmado.

Este tipo se declara en BaseTsd.h de la siguiente manera:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

Puntero sin signo.

Este tipo se declara en BaseTsd.h de la siguiente manera:

#define POINTER_UNSIGNED __uptr

PSHORT

Puntero a un SHORT.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef SHORT *PSHORT;

PSIZE_T

Puntero a un SIZE_T.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Puntero a un SSIZE_T.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef SSIZE_T *PSSIZE_T;

PSTR

Puntero a una cadena terminada en null de caracteres de Windows (ANSI) de 8 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef CHAR *PSTR;

PTBYTE

Puntero a untbYTE de TBYTE.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef TBYTE *PTBYTE;

PTCHAR

Puntero a un TCHAR.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef TCHAR *PTCHAR;

PTSTR

Un PWSTR si se define UNICODE, PSTR. Para obtener más información, vea tipos de datos de Windows para cadenas.

Este tipo se declara en WinNT.h como se indica a continuación:

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

Puntero a unUCHAR de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Puntero a un UHALF_PTR.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Puntero a unUINT de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef UINT *PUINT;

PUINT_PTR

Puntero a un UINT_PTR.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef UINT_PTR *PUINT_PTR;

PUINT8

Puntero a un UINT8.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef UINT8 *PUINT8;

PUINT16

Puntero a un UINT16.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef UINT16 *PUINT16;

PUINT32

Puntero a un UINT32.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef UINT32 *PUINT32;

PUINT64

Puntero a un UINT64.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef UINT64 *PUINT64;

PULONG

Puntero a unde ULONG de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef ULONG *PULONG;

PULONGLONG

Puntero a unULONGLONG .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Puntero a un ULONG_PTR.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Puntero a un ULONG32.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef ULONG32 *PULONG32;

PULONG64

Puntero a un ULONG64.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef ULONG64 *PULONG64;

PUSHORT

Puntero a unde USHORT de .

Este tipo se declara en WinDef.h de la siguiente manera:

typedef USHORT *PUSHORT;

PVOID

Puntero a cualquier tipo.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef void *PVOID;

PWCHAR

Puntero a un WCHAR.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef WCHAR *PWCHAR;

PWORD

Puntero a un WORD.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef WORD *PWORD;

PWSTR

Puntero a una cadena terminada en null de caracteres Unicode de 16 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef WCHAR *PWSTR;

QWORD

Entero de 64 bits sin signo.

Este tipo se declara de la siguiente manera:

typedef unsigned __int64 QWORD;

SC_HANDLE

Identificador de una base de datos de Service Control Manager. Para obtener más información, consulte controladores SCM.

Este tipo se declara en WinSvc.h de la siguiente manera:

typedef HANDLE SC_HANDLE;

SC_LOCK

Bloqueo a una base de datos de Service Control Manager. Para obtener más información, consulte controladores SCM.

Este tipo se declara en WinSvc.h de la siguiente manera:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Identificador de un valor de estado del servicio. Para obtener más información, consulte controladores SCM.

Este tipo se declara en WinSvc.h de la siguiente manera:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

Entero de 16 bits. El intervalo se -32768 a 32767 decimales.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef short SHORT;

SIZE_T

Número máximo de bytes a los que un puntero puede apuntar. Use para un recuento que debe abarcar el intervalo completo de un puntero.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef ULONG_PTR SIZE_T;

SSIZE_T

Una versión firmada de SIZE_T.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef LONG_PTR SSIZE_T;

TBYTE

WCHAR si se define UNICODE, char de .

Este tipo se declara en WinNT.h como se indica a continuación:

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

WCHAR si se define UNICODE, char de .

Este tipo se declara en WinNT.h como se indica a continuación:

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

Un CHAR sin firmar.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef unsigned char UCHAR;

UHALF_PTR

Un HALF_PTRsin signo. Use dentro de una estructura que contenga un puntero y dos campos pequeños.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Un INT sin signo. El intervalo es de 0 a 4294967295 decimal.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef unsigned int UINT;

UINT_PTR

Un INT_PTRsin signo.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Un INT8 sin signo.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef unsigned char UINT8;

UINT16

Un INT16 sin signo.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef unsigned short UINT16;

UINT32

Un int32 sin signo. El intervalo es de 0 a 4294967295 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef unsigned int UINT32;

UINT64

Un INT64 sin signo. El intervalo es de 0 a 18446744073709551615 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef unsigned __int64 UINT64;

ULONG

Un LONG sin signo. El intervalo es de 0 a 4294967295 decimal.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef unsigned long ULONG;

ULONGLONG

Entero de 64 bits sin signo. El intervalo es de 0 a 18446744073709551615 decimal.

Este tipo se declara en WinNT.h como se indica a continuación:

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

Un LONG_PTRsin signo.

Este tipo se declara en BaseTsd.h de la siguiente manera:

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

Un LONG32 sin signo. El intervalo es de 0 a 4294967295 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef unsigned int ULONG32;

ULONG64

Un LONG64 sin signo. El intervalo es de 0 a 18446744073709551615 decimal.

Este tipo se declara en BaseTsd.h de la siguiente manera:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

Cadena Unicode.

Este tipo se declara en Winternl.h como se indica a continuación:

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 sin signo. El intervalo es de 0 a 65535 decimal.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef unsigned short USHORT;

USN

Número de secuencia de actualización (USN).

Este tipo se declara en WinNT.h como se indica a continuación:

typedef LONGLONG USN;

VOID

Cualquier tipo.

Este tipo se declara en WinNT.h como se indica a continuación:

#define VOID void

WCHAR

Carácter Unicode de 16 bits. Para obtener más información, vea conjuntos de caracteres usados por fuentes.

Este tipo se declara en WinNT.h como se indica a continuación:

typedef wchar_t WCHAR;

WINAPI

La convención de llamada para las funciones del sistema.

Este tipo se declara en WinDef.h de la siguiente manera:

#define WINAPI __stdcall

CALLBACK, WINAPIy APIENTRY se usan para definir funciones con la convención de llamada __stdcall. La mayoría de las funciones de la API de Windows se declaran mediante WINAPI. Es posible que desee usar CALLBACK para las funciones de devolución de llamada que implemente para ayudar a identificar la función como una función de devolución de llamada.

WORD

Entero de 16 bits sin signo. El intervalo es de 0 a 65535 decimal.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef unsigned short WORD;

WPARAM

Parámetro de mensaje.

Este tipo se declara en WinDef.h de la siguiente manera:

typedef UINT_PTR WPARAM;

Requisitos

Requisito Valor
Cliente mínimo admitido
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo admitido
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
BaseTsd.h;
WinDef.h;
WinNT.h