Dela via


Windows-datatyper

De datatyper som stöds av Windows används för att definiera funktionsreturvärden, funktions- och meddelandeparametrar och strukturmedlemmar. De definierar storleken och innebörden av dessa element. Mer information om underliggande C/C++-datatyper finns i datatypsintervall.

Följande tabell innehåller följande typer: tecken, heltal, booleskt värde, pekare och handtag. Typerna tecken, heltal och booleska är gemensamma för de flesta C-kompilatorer. De flesta namn av pekartyp börjar med prefixet P eller LP. Referenser refererar till en resurs som har lästs in i minnet.

Mer information om hur du hanterar 64-bitars heltal finns i stora heltal.

Datatyp Beskrivning
APIENTRY Anropskonventionen för systemfunktioner.
Den här typen deklareras i WinDef.h enligt följande:
#define APIENTRY WINAPI
ATOM En atom. Mer information finns i Om Atom-tabeller.
Den här typen deklareras i WinDef.h enligt följande:
typedef WORD ATOM;
BOOL En boolesk variabel (ska vara TRUE eller FALSE).
Den här typen deklareras i WinDef.h enligt följande:
typedef int BOOL;
BOOLEAN En boolesk variabel (ska vara TRUE eller FALSE).
Den här typen deklareras i WinNT.h enligt följande:
typedef BYTE BOOLEAN;
BYTE En byte (8 bitar).
Den här typen deklareras i WinDef.h enligt följande:
typedef unsigned char BYTE;
CALLBACK Anropskonventionen för återanropsfunktioner.
Den här typen deklareras i WinDef.h enligt följande:
#define CALLBACK __stdcall
CALLBACK, WINAPIoch APIENTRY- används alla för att definiera funktioner med __stdcall-anropskonventionen. De flesta funktioner i Windows-API:et deklareras med WINAPI-. Du kanske vill använda CALLBACK- för de återanropsfunktioner som du implementerar för att identifiera funktionen som en återanropsfunktion.
CCHAR Ett 8-bitars Windows-tecken (ANSI).
Den här typen deklareras i WinNT.h enligt följande:
typedef char CCHAR;
CHAR Ett 8-bitars Windows-tecken (ANSI). Mer information finns i teckenuppsättningar som används av teckensnitt.
Den här typen deklareras i WinNT.h enligt följande:
typedef char CHAR;
COLORREF Det röda, gröna, blå (RGB) färgvärdet (32 bitar). Mer information om den här typen finns i COLORREF-.
Den här typen deklareras i WinDef.h enligt följande:
typedef DWORD COLORREF;
CONST En variabel vars värde ska förbli konstant under körningen.
Den här typen deklareras i WinDef.h enligt följande:
#define CONST const
DWORD Ett 32-bitars osignerat heltal. Intervallet är 0 till 4294967295 decimal.
Den här typen deklareras i IntSafe.h enligt följande:
typedef unsigned long DWORD;
DWORDLONG Ett 64-bitars osignerat heltal. Intervallet är 0 till 18446744073709551615 decimal.
Den här typen deklareras i IntSafe.h enligt följande:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR En osignerad lång typ för pekarprecision. Använd när du gjuter en pekare till en lång typ för att utföra pekarens aritmetik. (Används också ofta för allmänna 32-bitarsparametrar som har utökats till 64 bitar i 64-bitars Windows.)
Den här typen deklareras i BaseTsd.h enligt följande:
typedef ULONG_PTR DWORD_PTR;
DWORD32 Ett 32-bitars osignerat heltal.
Den här typen deklareras i BaseTsd.h enligt följande:
typedef unsigned int DWORD32;
DWORD64 Ett 64-bitars osignerat heltal.
Den här typen deklareras i BaseTsd.h enligt följande:
typedef unsigned __int64 DWORD64;
FLOAT En flyttalsvariabel.
Den här typen deklareras i WinDef.h enligt följande:
typedef float FLOAT;
HACCEL Ett handtag till en acceleratortabell.
Den här typen deklareras i WinDef.h enligt följande:
typedef HANDLE HACCEL;
HALF_PTR Halva storleken på en pekare. Använd i en struktur som innehåller en pekare och två små fält.
Den här typen deklareras i BaseTsd.h enligt följande:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

Ett handtag till ett objekt.

Den här typen deklareras i WinNT.h enligt följande:

typedef PVOID HANDLE;

HBITMAP

Ett handtag till en bitmapp.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HBITMAP;

HBRUSH

Ett handtag till en borste.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HBRUSH;

HCOLORSPACE

Ett handtag till ett färgutrymme.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HCOLORSPACE;

HCONV

En referens till en DDE-konversation (Dynamic Data Exchange).

Den här typen deklareras i Ddeml.h enligt följande:

typedef HANDLE HCONV;

HCONVLIST

En referens till en DDE-konversationslista.

Den här typen deklareras i Ddeml.h enligt följande:

typedef HANDLE HCONVLIST;

HCURSOR

Ett handtag till en -markör.

Den här typen deklareras i WinDef.h enligt följande:

typedef HICON HCURSOR;

HDC

Ett handtag till en enhetskontext (DC).

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HDC;

HDDEDATA

Ett handtag till DDE-data.

Den här typen deklareras i Ddeml.h enligt följande:

typedef HANDLE HDDEDATA;

HDESK

Ett handtag till ett skrivbord.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HDESK;

HDROP

Ett handtag till en intern släppstruktur.

Den här typen deklareras i ShellApi.h enligt följande:

typedef HANDLE HDROP;

HDWP

Ett handtag till en uppskjuten fönsterpositionsstruktur.

Den här typen deklareras i WinUser.h enligt följande:

typedef HANDLE HDWP;

HENHMETAFILE

Ett handtag till en förbättrad metafil.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HENHMETAFILE;

HFILE

En referens till en fil som öppnas av OpenFile, inte CreateFile.

Den här typen deklareras i WinDef.h enligt följande:

typedef int HFILE;

HFONT

Ett handtag till ett teckensnitt.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HFONT;

HGDIOBJ

Ett handtag till ett GDI-objekt.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HGDIOBJ;

HGLOBAL

Ett handtag till ett globalt minnesblock.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HGLOBAL;

HHOOK

Ett handtag till en krok.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HHOOK;

HICON

Ett handtag till en -ikon.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HICON;

HINSTANCE

Ett handtag till en instans. Det här är basadressen för modulen i minnet.

HMODULE och HINSTANCE är desamma idag, men representerade olika saker i 16-bitars Windows.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HINSTANCE;

HKEY

Ett handtag till en registernyckel.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HKEY;

HKL

En språkidentifierare för indata.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HKL;

HLOCAL

Ett handtag till ett lokalt minnesblock.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HLOCAL;

HMENU

Ett handtag till en -meny.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HMENU;

HMETAFILE

Ett handtag till en metafil.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HMETAFILE;

HMODULE

Ett handtag till en modul. Det här är basadressen för modulen i minnet.

HMODULE och HINSTANCE är desamma i dagens versioner av Windows, men representerade olika saker i 16-bitars Windows.

Den här typen deklareras i WinDef.h enligt följande:

typedef HINSTANCE HMODULE;

HMONITOR

Ett handtag till en bildskärm.

Den här typen deklareras i WinDef.h enligt följande:

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

HPALETTE

Ett handtag till en palett.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HPALETTE;

HPEN

Ett handtag till en penna.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HPEN;

HRESULT

Returkoderna som används av COM-gränssnitt. Mer information finns i struktur för COM-felkoderna. Om du vill testa ett HRESULT- värde använder du makrona FAILED och SUCCEEDED.

Den här typen deklareras i WinNT.h enligt följande:

typedef LONG HRESULT;

HRGN

Ett handtag till en region.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HRGN;

HRSRC

Ett handtag till en resurs.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HRSRC;

HSZ

Ett handtag till en DDE-sträng.

Den här typen deklareras i Ddeml.h enligt följande:

typedef HANDLE HSZ;

HWINSTA

Ett handtag till en fönsterstation.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE WINSTA;

HWND

Ett handtag till ett fönster.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE HWND;

INT

Ett 32-bitars signerat heltal. Intervallet är -2147483648 genom 2147483647 decimal.

Den här typen deklareras i WinDef.h enligt följande:

typedef int INT;

INT_PTR

En signerad heltalstyp för pekarprecision. Använd när du kastar en pekare till ett heltal för att utföra pekararitmetik.

Den här typen deklareras i BaseTsd.h enligt följande:

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

Ett 8-bitars signerat heltal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef signed char INT8;

INT16

Ett 16-bitars signerat heltal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef signed short INT16;

INT32

Ett 32-bitars signerat heltal. Intervallet är -2147483648 genom 2147483647 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef signed int INT32;

INT64

Ett 64-bitars signerat heltal. Intervallet är -9223372036854775808 genom 9223372036854775807 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef signed __int64 INT64;

LANGID

En språkidentifierare. Mer information finns i Language Identifiers.

Den här typen deklareras i WinNT.h enligt följande:

typedef WORD LANGID;

LCID

En språkidentifierare. Mer information finns i Nationella identifierare.

Den här typen deklareras i WinNT.h enligt följande:

typedef DWORD LCID;

LCTYPE

En språkinformationstyp. En lista finns i Nationella informationskonstanter.

Den här typen deklareras i WinNls.h enligt följande:

typedef DWORD LCTYPE;

LGRPID

En språkgruppsidentifierare. En lista finns i EnumLanguageGroupLocales.

Den här typen deklareras i WinNls.h enligt följande:

typedef DWORD LGRPID;

LONG

Ett 32-bitars signerat heltal. Intervallet är -2147483648 genom 2147483647 decimal.

Den här typen deklareras i WinNT.h enligt följande:

typedef long LONG;

LONGLONG

Ett 64-bitars signerat heltal. Intervallet är -9223372036854775808 genom 9223372036854775807 decimal.

Den här typen deklareras i WinNT.h enligt följande:

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

En signerad lång typ för pekarprecision. Använd när du gjuter en pekare till en lång för att utföra pekararitmetik.

Den här typen deklareras i BaseTsd.h enligt följande:

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

Ett 32-bitars signerat heltal. Intervallet är -2147483648 genom 2147483647 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef signed int LONG32;

LONG64

Ett 64-bitars signerat heltal. Intervallet är -9223372036854775808 genom 9223372036854775807 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef __int64 LONG64;

LPARAM

En meddelandeparameter.

Den här typen deklareras i WinDef.h enligt följande:

typedef LONG_PTR LPARAM;

LPBOOL

En pekare till en BOOL-.

Den här typen deklareras i WinDef.h enligt följande:

typedef BOOL far *LPBOOL;

LPBYTE

En pekare till en BYTE-.

Den här typen deklareras i WinDef.h enligt följande:

typedef BYTE far *LPBYTE;

LPCOLORREF

En pekare till ett COLORREF- värde.

Den här typen deklareras i WinDef.h enligt följande:

typedef DWORD *LPCOLORREF;

LPCSTR

En pekare till en konstant null-avslutad sträng med 8-bitars Windows-tecken (ANSI). Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

En LPCWSTR- om UNICODE- definieras annars. Mer information finns i Windows-datatyper för strängar.

Den här typen deklareras i WinNT.h enligt följande:

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

En pekare till en konstant av alla typer.

Den här typen deklareras i WinDef.h enligt följande:

typedef CONST void *LPCVOID;

LPCWSTR

En pekare till en konstant null-avslutad sträng med 16-bitars Unicode-tecken. Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

En pekare till en DWORD-.

Den här typen deklareras i WinDef.h enligt följande:

typedef DWORD *LPDWORD;

LPHANDLE

En pekare till en HANDLE-.

Den här typen deklareras i WinDef.h enligt följande:

typedef HANDLE *LPHANDLE;

LPINT

En pekare till en INT-.

Den här typen deklareras i WinDef.h enligt följande:

typedef int *LPINT;

LPLONG

En pekare till en LONG-.

Den här typen deklareras i WinDef.h enligt följande:

typedef long *LPLONG;

LPSTR

En pekare till en null-avslutad sträng med 8-bitars Windows-tecken (ANSI). Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef CHAR *LPSTR;

LPTSTR

En LPWSTR- om UNICODE- har definierats LPSTR annars. Mer information finns i Windows-datatyper för strängar.

Den här typen deklareras i WinNT.h enligt följande:

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

En pekare till valfri typ.

Den här typen deklareras i WinDef.h enligt följande:

typedef void *LPVOID;

LPWORD

En pekare till en WORD-.

Den här typen deklareras i WinDef.h enligt följande:

typedef WORD *LPWORD;

LPWSTR

En pekare till en null-avslutad sträng med 16-bitars Unicode-tecken. Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef WCHAR *LPWSTR;

LRESULT

Signerat resultat av meddelandebearbetning.

Den här typen deklareras i WinDef.h enligt följande:

typedef LONG_PTR LRESULT;

PBOOL

En pekare till en BOOL-.

Den här typen deklareras i WinDef.h enligt följande:

typedef BOOL *PBOOL;

PBOOLEAN

En pekare till en BOOLESk.

Den här typen deklareras i WinNT.h enligt följande:

typedef BOOLEAN *PBOOLEAN;

PBYTE

En pekare till en BYTE-.

Den här typen deklareras i WinDef.h enligt följande:

typedef BYTE *PBYTE;

PCHAR

En pekare till en CHAR-.

Den här typen deklareras i WinNT.h enligt följande:

typedef CHAR *PCHAR;

PCSTR

En pekare till en konstant null-avslutad sträng med 8-bitars Windows-tecken (ANSI). Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef CONST CHAR *PCSTR;

PCTSTR

En PCWSTR- om UNICODE- har definierats PCSTR annars. Mer information finns i Windows-datatyper för strängar.

Den här typen deklareras i WinNT.h enligt följande:

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

En pekare till en konstant null-avslutad sträng med 16-bitars Unicode-tecken. Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef CONST WCHAR *PCWSTR;

PDWORD

En pekare till en DWORD-.

Den här typen deklareras i WinDef.h enligt följande:

typedef DWORD *PDWORD;

PDWORDLONG

En pekare till en DWORDLONG-.

Den här typen deklareras i WinNT.h enligt följande:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

En pekare till en DWORD_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

En pekare till en DWORD32.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef DWORD32 *PDWORD32;

PDWORD64

En pekare till en DWORD64.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef DWORD64 *PDWORD64;

PFLOAT

En pekare till en FLOAT-.

Den här typen deklareras i WinDef.h enligt följande:

typedef FLOAT *PFLOAT;

PHALF_PTR

En pekare till en HALF_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

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

En pekare till en HANDLE-.

Den här typen deklareras i WinNT.h enligt följande:

typedef HANDLE *PHANDLE;

PHKEY

En pekare till en HKEY-.

Den här typen deklareras i WinDef.h enligt följande:

typedef HKEY *PHKEY;

PINT

En pekare till en INT-.

Den här typen deklareras i WinDef.h enligt följande:

typedef int *PINT;

PINT_PTR

En pekare till en INT_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef INT_PTR *PINT_PTR;

PINT8

En pekare till en INT8-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef INT8 *PINT8;

PINT16

En pekare till en INT16-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef INT16 *PINT16;

PINT32

En pekare till en INT32-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef INT32 *PINT32;

PINT64

En pekare till en INT64-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef INT64 *PINT64;

PLCID

En pekare till en LCID-.

Den här typen deklareras i WinNT.h enligt följande:

typedef PDWORD PLCID;

PLONG

En pekare till en LONG-.

Den här typen deklareras i WinNT.h enligt följande:

typedef LONG *PLONG;

PLONGLONG

En pekare till en LONGLONG-.

Den här typen deklareras i WinNT.h enligt följande:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

En pekare till en LONG_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef LONG_PTR *PLONG_PTR;

PLONG32

En pekare till en LONG32-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef LONG32 *PLONG32;

PLONG64

En pekare till en LONG64-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef LONG64 *PLONG64;

POINTER_32

En 32-bitars pekare. I ett 32-bitarssystem är detta en inbyggd pekare. I ett 64-bitarssystem är detta en trunkerad 64-bitars pekare.

Den här typen deklareras i BaseTsd.h enligt följande:

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

En 64-bitars pekare. I ett 64-bitarssystem är detta en inbyggd pekare. I ett 32-bitarssystem är detta en sign-extended 32-bitars pekare.

Observera att det inte är säkert att anta tillståndet för högpekarbiten.

Den här typen deklareras i BaseTsd.h enligt följande:

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

En signerad pekare.

Den här typen deklareras i BaseTsd.h enligt följande:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

En osignerad pekare.

Den här typen deklareras i BaseTsd.h enligt följande:

#define POINTER_UNSIGNED __uptr

PSHORT

En pekare till en SHORT-.

Den här typen deklareras i WinNT.h enligt följande:

typedef SHORT *PSHORT;

PSIZE_T

En pekare till en SIZE_T.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

En pekare till en SSIZE_T.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef SSIZE_T *PSSIZE_T;

PSTR

En pekare till en null-avslutad sträng med 8-bitars Windows-tecken (ANSI). Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef CHAR *PSTR;

PTBYTE

En pekare till en TBYTE-.

Den här typen deklareras i WinNT.h enligt följande:

typedef TBYTE *PTBYTE;

PTCHAR

En pekare till en TCHAR-.

Den här typen deklareras i WinNT.h enligt följande:

typedef TCHAR *PTCHAR;

PTSTR

En PWSTR- om UNICODE- har definierats ett PSTR annars. Mer information finns i Windows-datatyper för strängar.

Den här typen deklareras i WinNT.h enligt följande:

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

En pekare till en UCHAR-.

Den här typen deklareras i WinDef.h enligt följande:

typedef UCHAR *PUCHAR;

PUHALF_PTR

En pekare till en UHALF_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

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

En pekare till en UINT-.

Den här typen deklareras i WinDef.h enligt följande:

typedef UINT *PUINT;

PUINT_PTR

En pekare till en UINT_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef UINT_PTR *PUINT_PTR;

PUINT8

En pekare till en UINT8-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef UINT8 *PUINT8;

PUINT16

En pekare till en UINT16-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef UINT16 *PUINT16;

PUINT32

En pekare till en UINT32-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef UINT32 *PUINT32;

PUINT64

En pekare till en UINT64-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef UINT64 *PUINT64;

PULONG

En pekare till en ULONG-.

Den här typen deklareras i WinDef.h enligt följande:

typedef ULONG *PULONG;

PULONGLONG

En pekare till en ULONGLONG-.

Den här typen deklareras i WinDef.h enligt följande:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

En pekare till en ULONG_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

En pekare till en ULONG32.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef ULONG32 *PULONG32;

PULONG64

En pekare till en ULONG64.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef ULONG64 *PULONG64;

PUSHORT

En pekare till en USHORT-.

Den här typen deklareras i WinDef.h enligt följande:

typedef USHORT *PUSHORT;

PVOID

En pekare till valfri typ.

Den här typen deklareras i WinNT.h enligt följande:

typedef void *PVOID;

PWCHAR

En pekare till en WCHAR-.

Den här typen deklareras i WinNT.h enligt följande:

typedef WCHAR *PWCHAR;

PWORD

En pekare till en WORD-.

Den här typen deklareras i WinDef.h enligt följande:

typedef WORD *PWORD;

PWSTR

En pekare till en null-avslutad sträng med 16-bitars Unicode-tecken. Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef WCHAR *PWSTR;

QWORD

Ett 64-bitars osignerat heltal.

Den här typen deklareras på följande sätt:

typedef unsigned __int64 QWORD;

SC_HANDLE

Ett handtag till en tjänstkontrollhanteringsdatabas. Mer information finns i SCM Handles.

Den här typen deklareras i WinSvc.h enligt följande:

typedef HANDLE SC_HANDLE;

SC_LOCK

Ett lås till en service control manager-databas. Mer information finns i SCM Handles.

Den här typen deklareras i WinSvc.h enligt följande:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

En referens till ett tjänststatusvärde. Mer information finns i SCM Handles.

Den här typen deklareras i WinSvc.h enligt följande:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

Ett 16-bitars heltal. Intervallet är -32768 till 32767 decimaler.

Den här typen deklareras i WinNT.h enligt följande:

typedef short SHORT;

SIZE_T

Det maximala antalet byte som en pekare kan peka på. Använd för ett antal som måste sträcka sig över hela intervallet för en pekare.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef ULONG_PTR SIZE_T;

SSIZE_T

En signerad version av SIZE_T.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef LONG_PTR SSIZE_T;

TBYTE

En WCHAR- om UNICODE- definieras annars en CHAR.

Den här typen deklareras i WinNT.h enligt följande:

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

En WCHAR- om UNICODE- definieras annars en CHAR.

Den här typen deklareras i WinNT.h enligt följande:

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

En osignerad CHAR-.

Den här typen deklareras i WinDef.h enligt följande:

typedef unsigned char UCHAR;

UHALF_PTR

En osignerad HALF_PTR. Använd i en struktur som innehåller en pekare och två små fält.

Den här typen deklareras i BaseTsd.h enligt följande:

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

En osignerad INT-. Intervallet är 0 till 4294967295 decimal.

Den här typen deklareras i WinDef.h enligt följande:

typedef unsigned int UINT;

UINT_PTR

En osignerad INT_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

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

En osignerad INT8-.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef unsigned char UINT8;

UINT16

En osignerad INT16.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef unsigned short UINT16;

UINT32

En osignerad INT32-. Intervallet är 0 till 4294967295 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef unsigned int UINT32;

UINT64

En osignerad INT64-. Intervallet är 0 till 18446744073709551615 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef unsigned __int64 UINT64;

ULONG

En osignerad LONG-. Intervallet är 0 till 4294967295 decimal.

Den här typen deklareras i WinDef.h enligt följande:

typedef unsigned long ULONG;

ULONGLONG

Ett 64-bitars osignerat heltal. Intervallet är 0 till 18446744073709551615 decimal.

Den här typen deklareras i WinNT.h enligt följande:

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

En osignerad LONG_PTR.

Den här typen deklareras i BaseTsd.h enligt följande:

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

En osignerad LONG32-. Intervallet är 0 till 4294967295 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef unsigned int ULONG32;

ULONG64

En osignerad LONG64. Intervallet är 0 till 18446744073709551615 decimal.

Den här typen deklareras i BaseTsd.h enligt följande:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

En Unicode-sträng.

Den här typen deklareras i Winternl.h enligt följande:

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

En osignerad SHORT-. Intervallet är mellan 0 och 65535 decimaler.

Den här typen deklareras i WinDef.h enligt följande:

typedef unsigned short USHORT;

USN

Ett uppdateringssekvensnummer (USN).

Den här typen deklareras i WinNT.h enligt följande:

typedef LONGLONG USN;

VOID

Vilken typ som helst.

Den här typen deklareras i WinNT.h enligt följande:

#define VOID void

WCHAR

Ett 16-bitars Unicode-tecken. Mer information finns i teckenuppsättningar som används av teckensnitt.

Den här typen deklareras i WinNT.h enligt följande:

typedef wchar_t WCHAR;

WINAPI

Anropskonventionen för systemfunktioner.

Den här typen deklareras i WinDef.h enligt följande:

#define WINAPI __stdcall

CALLBACK, WINAPIoch APIENTRY- används alla för att definiera funktioner med __stdcall-anropskonventionen. De flesta funktioner i Windows-API:et deklareras med WINAPI-. Du kanske vill använda CALLBACK- för de återanropsfunktioner som du implementerar för att identifiera funktionen som en återanropsfunktion.

WORD

Ett 16-bitars osignerat heltal. Intervallet är mellan 0 och 65535 decimaler.

Den här typen deklareras i WinDef.h enligt följande:

typedef unsigned short WORD;

WPARAM

En meddelandeparameter.

Den här typen deklareras i WinDef.h enligt följande:

typedef UINT_PTR WPARAM;

Krav

Krav Värde
Lägsta klient som stöds
Windows XP [endast skrivbordsappar]
Lägsta server som stöds
Windows Server 2003 [endast skrivbordsappar]
Rubrik
BaseTsd.h;
WinDef.h;
WinNT.h