Freigeben über


Windows-Datentypen

Die von Windows unterstützten Datentypen dienen zum Definieren von Funktionsrücklaufwerten, Funktions- und Nachrichtenparametern und Strukturmbern. Sie definieren die Größe und Bedeutung dieser Elemente. Weitere Informationen zu den zugrunde liegenden C/C++-Datentypen finden Sie unter Datentypbereiche.

Die folgende Tabelle enthält die folgenden Typen: Zeichen, ganze Zahl, Boolean, Zeiger und Handle. Die Zeichen-, Ganzzahl- und booleschen Typen sind für die meisten C-Compiler üblich. Die meisten Zeigertypnamen beginnen mit einem Präfix von P oder LP. Handles beziehen sich auf eine Ressource, die in den Arbeitsspeicher geladen wurde.

Weitere Informationen zum Behandeln von 64-Bit-Ganzzahlen finden Sie unter Large Integers.

Datentyp Beschreibung
APIENTRY Die Aufrufkonvention für Systemfunktionen.
Dieser Typ wird in WinDef.h wie folgt deklariert:
#define APIENTRY WINAPI
ATOM Ein Atom. Weitere Informationen finden Sie unter About Atom Tables.
Dieser Typ wird in WinDef.h wie folgt deklariert:
typedef WORD ATOM;
BOOL Eine boolesche Variable (sollte TRUE oder FALSE-sein).
Dieser Typ wird in WinDef.h wie folgt deklariert:
typedef int BOOL;
BOOLEAN Eine boolesche Variable (sollte TRUE oder FALSE-sein).
Dieser Typ wird in WinNT.h wie folgt deklariert:
typedef BYTE BOOLEAN;
BYTE Ein Byte (8 Bit).
Dieser Typ wird in WinDef.h wie folgt deklariert:
typedef unsigned char BYTE;
CALLBACK Die Aufrufkonvention für Rückruffunktionen.
Dieser Typ wird in WinDef.h wie folgt deklariert:
#define CALLBACK __stdcall
CALLBACK-, WINAPI-und APIENTRY- werden alle zum Definieren von Funktionen mit der __stdcall Aufrufkonvention verwendet. Die meisten Funktionen in der Windows-API werden mit WINAPI-deklariert. Sie können CALLBACK- für die von Ihnen implementierten Rückruffunktionen verwenden, um die Funktion als Rückruffunktion zu identifizieren.
CCHAR Ein 8-Bit-Windows-Zeichen (ANSI).
Dieser Typ wird in WinNT.h wie folgt deklariert:
typedef char CCHAR;
CHAR Ein 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.
Dieser Typ wird in WinNT.h wie folgt deklariert:
typedef char CHAR;
COLORREF Der Farbwert rot, grün, blau (RGB) (32 Bit). Informationen zu diesem Typ finden Sie unter COLORREF-.
Dieser Typ wird in WinDef.h wie folgt deklariert:
typedef DWORD COLORREF;
CONST Eine Variable, deren Wert während der Ausführung konstant bleiben soll.
Dieser Typ wird in WinDef.h wie folgt deklariert:
#define CONST const
DWORD Eine 32-Bit-ganzzahl ohne Vorzeichen. Der Bereich ist 0 bis 4294967295 Dezimalkomma.
Dieser Typ wird in IntSafe.h wie folgt deklariert:
typedef unsigned long DWORD;
DWORDLONG Eine 64-Bit-ganzzahl ohne Vorzeichen. Der Bereich ist 0 bis 18446744073709551615 Dezimalkomma.
Dieser Typ wird in IntSafe.h wie folgt deklariert:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Ein nicht signierter langer Typ für die Zeigergenauigkeit. Wird beim Umwandeln eines Zeigers in einen langen Typ verwendet, um Zeigerarithmetik auszuführen. (Wird auch häufig für allgemeine 32-Bit-Parameter verwendet, die in 64-Bit-Versionen von Windows auf 64 Bit erweitert wurden.)
Dieser Typ wird in BaseTsd.h wie folgt deklariert:
typedef ULONG_PTR DWORD_PTR;
DWORD32 Eine 32-Bit-ganzzahl ohne Vorzeichen.
Dieser Typ wird in BaseTsd.h wie folgt deklariert:
typedef unsigned int DWORD32;
DWORD64 Eine 64-Bit-ganzzahl ohne Vorzeichen.
Dieser Typ wird in BaseTsd.h wie folgt deklariert:
typedef unsigned __int64 DWORD64;
FLOAT Eine Gleitkommavariable.
Dieser Typ wird in WinDef.h wie folgt deklariert:
typedef float FLOAT;
HACCEL Ein Handle zu einer Zugriffstastentabelle.
Dieser Typ wird in WinDef.h wie folgt deklariert:
typedef HANDLE HACCEL;
HALF_PTR Hälfte der Größe eines Zeigers. Verwenden Sie in einer Struktur, die einen Zeiger und zwei kleine Felder enthält.
Dieser Typ wird in BaseTsd.h wie folgt deklariert:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

Ein Handle für ein Objekt.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef PVOID HANDLE;

HBITMAP

Ein Handle für eine Bitmap-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HBITMAP;

HBRUSH

Ein Griff zu einem Pinsel.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HBRUSH;

HCOLORSPACE

Ein Ziehpunkt für einen Farbraum.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HCOLORSPACE;

HCONV

Ein Handle für eine DDE-Unterhaltung (Dynamic Data Exchange).

Dieser Typ wird in Ddeml.h wie folgt deklariert:

typedef HANDLE HCONV;

HCONVLIST

Ein Handle für eine DDE-Unterhaltungsliste.

Dieser Typ wird in Ddeml.h wie folgt deklariert:

typedef HANDLE HCONVLIST;

HCURSOR

Ein Handle für einen Cursor.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HICON HCURSOR;

HDC

Ein Handle für einen Gerätekontext (DC).

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HDC;

HDDEDATA

Ein Handle für DDE-Daten.

Dieser Typ wird in Ddeml.h wie folgt deklariert:

typedef HANDLE HDDEDATA;

HDESK

Ein Handle zu einem Desktop-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HDESK;

HDROP

Ein Handle zu einer internen Drop-Struktur.

Dieser Typ wird in ShellApi.h wie folgt deklariert:

typedef HANDLE HDROP;

HDWP

Ein Handle zu einer Struktur der verzögerten Fensterposition.

Dieser Typ wird in WinUser.h wie folgt deklariert:

typedef HANDLE HDWP;

HENHMETAFILE

Ein Handle zu einer erweiterten Metadatei.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HENHMETAFILE;

HFILE

Ein Handle für eine Datei, die von OpenFile-geöffnet wird, nicht CreateFile-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef int HFILE;

HFONT

Ein Handle für eine Schriftart.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HFONT;

HGDIOBJ

Ein Handle zu einem GDI-Objekt.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HGDIOBJ;

HGLOBAL

Ein Handle zu einem globalen Speicherblock.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HGLOBAL;

HHOOK

Ein Griff zu einem Haken.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HHOOK;

HICON

Ein Ziehpunkt zu einem Symbol.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HICON;

HINSTANCE

Ein Handle für eine Instanz. Dies ist die Basisadresse des Moduls im Arbeitsspeicher.

HMODULE- und HINSTANCE- sind heute identisch, wurden jedoch in 16-Bit-Windows verschiedene Elemente dargestellt.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HINSTANCE;

HKEY

Ein Handle zu einem Registrierungsschlüssel.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HKEY;

HKL

Ein Eingabegebietsschemabezeichner.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HKL;

HLOCAL

Ein Handle zu einem lokalen Speicherblock.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HLOCAL;

HMENU

Ein Handle zu einem Menü.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HMENU;

HMETAFILE

Ein Handle zu einer Metadatei.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HMETAFILE;

HMODULE

Ein Handle zu einem Modul. Dies ist die Basisadresse des Moduls im Arbeitsspeicher.

HMODULE- und HINSTANCE- sind in den aktuellen Versionen von Windows identisch, werden jedoch in 16-Bit-Windows unterschiedlich dargestellt.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HINSTANCE HMODULE;

HMONITOR

Ein Handle für einen Anzeigemonitor.

Dieser Typ wird in WinDef.h wie folgt deklariert:

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

HPALETTE

Ein Handle zu einer Palette.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HPALETTE;

HPEN

Ein Ziehpunkt für einen Stift.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HPEN;

HRESULT

Die von COM-Schnittstellen verwendeten Rückgabecodes. Weitere Informationen finden Sie unter Struktur der COM-Fehlercodes. Verwenden Sie zum Testen eines HRESULT--Werts die FAILED- und ERFOLGREICH Makros.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef LONG HRESULT;

HRGN

Ein Handle für eine Region.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HRGN;

HRSRC

Ein Handle für eine Ressource.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HRSRC;

HSZ

Ein Handle für eine DDE-Zeichenfolge.

Dieser Typ wird in Ddeml.h wie folgt deklariert:

typedef HANDLE HSZ;

HWINSTA

Ein Griff zu einer Fensterstation.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE WINSTA;

HWND

Ein Handle für ein Fenster.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE HWND;

INT

Eine 32-Bit-Ganzzahl mit Vorzeichen. Der Bereich wird durch 2147483647 Dezimaltrennzeichen -2147483648.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef int INT;

INT_PTR

Ein signierter ganzzahliger Typ für die Zeigergenauigkeit. Wird verwendet, wenn ein Zeiger in eine ganze Zahl umgewandelt wird, um Zeigerarithmetik auszuführen.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Eine 8-Bit-Ganzzahl mit Vorzeichen.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef signed char INT8;

INT16

Eine 16-Bit-Ganzzahl mit Vorzeichen.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef signed short INT16;

INT32

Eine 32-Bit-Ganzzahl mit Vorzeichen. Der Bereich wird durch 2147483647 Dezimaltrennzeichen -2147483648.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef signed int INT32;

INT64

Eine 64-Bit-Ganzzahl mit Vorzeichen. Der Bereich wird durch 9223372036854775807 Dezimaltrennzeichen -9223372036854775808.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef signed __int64 INT64;

LANGID

Ein Sprachbezeichner. Weitere Informationen finden Sie unter Sprachbezeichner.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef WORD LANGID;

LCID

Ein Gebietsschemabezeichner. Weitere Informationen finden Sie unter Gebietsschemabezeichner.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef DWORD LCID;

LCTYPE

Ein Gebietsschemainformationstyp. Eine Liste finden Sie unter Gebietsschemainformationskonstanten.

Dieser Typ wird in WinNls.h wie folgt deklariert:

typedef DWORD LCTYPE;

LGRPID

Ein Sprachgruppenbezeichner. Eine Liste finden Sie unter EnumLanguageGroupLocales.

Dieser Typ wird in WinNls.h wie folgt deklariert:

typedef DWORD LGRPID;

LONG

Eine 32-Bit-Ganzzahl mit Vorzeichen. Der Bereich wird durch 2147483647 Dezimaltrennzeichen -2147483648.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef long LONG;

LONGLONG

Eine 64-Bit-Ganzzahl mit Vorzeichen. Der Bereich wird durch 9223372036854775807 Dezimaltrennzeichen -9223372036854775808.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Ein signierter langer Typ für die Zeigergenauigkeit. Verwenden Sie diesen Vorgang, wenn Sie einen Zeiger in einen langen Zeiger umwandeln, um Zeigerarithmetik auszuführen.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Eine 32-Bit-Ganzzahl mit Vorzeichen. Der Bereich wird durch 2147483647 Dezimaltrennzeichen -2147483648.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef signed int LONG32;

LONG64

Eine 64-Bit-Ganzzahl mit Vorzeichen. Der Bereich wird durch 9223372036854775807 Dezimaltrennzeichen -9223372036854775808.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef __int64 LONG64;

LPARAM

Ein Nachrichtenparameter.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef LONG_PTR LPARAM;

LPBOOL

Ein Zeiger auf eine BOOL-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef BOOL far *LPBOOL;

LPBYTE

Ein Zeiger auf eine BYTE-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef BYTE far *LPBYTE;

LPCOLORREF

Ein Zeiger auf einen COLORREF- Wert.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef DWORD *LPCOLORREF;

LPCSTR

Ein Zeiger auf eine konstante null-beendete Zeichenfolge mit 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

Ein LPCWSTR-, wenn UNICODE- definiert ist, andernfalls ein LPCSTR-. Weitere Informationen finden Sie unter Windows-Datentypen für Zeichenfolgen.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Ein Zeiger auf eine Konstante eines beliebigen Typs.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef CONST void *LPCVOID;

LPCWSTR

Ein Zeiger auf eine konstanten null-beendete Zeichenfolge mit 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

Ein Zeiger auf ein DWORD-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef DWORD *LPDWORD;

LPHANDLE

Ein Zeiger auf ein HANDLE.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HANDLE *LPHANDLE;

LPINT

Ein Zeiger auf eine INT-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef int *LPINT;

LPLONG

Ein Zeiger auf ein LONG-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef long *LPLONG;

LPSTR

Ein Zeiger auf eine mit Null beendete Zeichenfolge von 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef CHAR *LPSTR;

LPTSTR

Ein LPWSTR-, wenn UNICODE- definiert ist, andernfalls ein LPSTR-. Weitere Informationen finden Sie unter Windows-Datentypen für Zeichenfolgen.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Ein Zeiger auf einen beliebigen Typ.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef void *LPVOID;

LPWORD

Ein Zeiger auf eine WORD-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef WORD *LPWORD;

LPWSTR

Ein Zeiger auf eine mit Null beendete Zeichenfolge mit 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef WCHAR *LPWSTR;

LRESULT

Signiertes Ergebnis der Nachrichtenverarbeitung.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef LONG_PTR LRESULT;

PBOOL

Ein Zeiger auf eine BOOL-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef BOOL *PBOOL;

PBOOLEAN

Ein Zeiger auf einen VOM TYP BOOLEAN.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Ein Zeiger auf eine BYTE-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef BYTE *PBYTE;

PCHAR

Ein Zeiger auf eine CHAR-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef CHAR *PCHAR;

PCSTR

Ein Zeiger auf eine konstante null-beendete Zeichenfolge mit 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef CONST CHAR *PCSTR;

PCTSTR

Ein PCWSTR-, wenn UNICODE- definiert ist, andernfalls ein PCSTR-. Weitere Informationen finden Sie unter Windows-Datentypen für Zeichenfolgen.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Ein Zeiger auf eine konstanten null-beendete Zeichenfolge mit 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef CONST WCHAR *PCWSTR;

PDWORD

Ein Zeiger auf ein DWORD-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef DWORD *PDWORD;

PDWORDLONG

Ein Zeiger auf ein DWORDLONG-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Ein Zeiger auf eine DWORD_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Ein Zeiger auf eine DWORD32.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef DWORD32 *PDWORD32;

PDWORD64

Ein Zeiger auf eine DWORD64.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef DWORD64 *PDWORD64;

PFLOAT

Ein Zeiger auf eine FLOAT-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef FLOAT *PFLOAT;

PHALF_PTR

Ein Zeiger auf eine HALF_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Ein Zeiger auf ein HANDLE.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef HANDLE *PHANDLE;

PHKEY

Ein Zeiger auf eine HKEY-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef HKEY *PHKEY;

PINT

Ein Zeiger auf eine INT-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef int *PINT;

PINT_PTR

Ein Zeiger auf eine INT_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef INT_PTR *PINT_PTR;

PINT8

Ein Zeiger auf eine INT8-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef INT8 *PINT8;

PINT16

Ein Zeiger auf eine INT16-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef INT16 *PINT16;

PINT32

Ein Zeiger auf eine INT32-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef INT32 *PINT32;

PINT64

Ein Zeiger auf eine INT64-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef INT64 *PINT64;

PLCID

Ein Zeiger auf eine LCID-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef PDWORD PLCID;

PLONG

Ein Zeiger auf ein LONG-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef LONG *PLONG;

PLONGLONG

Ein Zeiger auf eine LONGLONG-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Ein Zeiger auf eine LONG_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef LONG_PTR *PLONG_PTR;

PLONG32

Ein Zeiger auf eine LONG32-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef LONG32 *PLONG32;

PLONG64

Ein Zeiger auf eine LONG64-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef LONG64 *PLONG64;

POINTER_32

Ein 32-Bit-Zeiger. Auf einem 32-Bit-System ist dies ein systemeigener Zeiger. Bei einem 64-Bit-System handelt es sich um einen abgeschnittenen 64-Bit-Zeiger.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Ein 64-Bit-Zeiger. Auf einem 64-Bit-System ist dies ein systemeigener Zeiger. Bei einem 32-Bit-System handelt es sich um einen sign-erweiterten 32-Bit-Zeiger.

Beachten Sie, dass es nicht sicher ist, den Zustand des Highpointer-Bits anzunehmen.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Ein signierter Zeiger.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

Ein nicht signierter Zeiger.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

#define POINTER_UNSIGNED __uptr

PSHORT

Ein Zeiger auf eine SHORT.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef SHORT *PSHORT;

PSIZE_T

Ein Zeiger auf eine SIZE_T.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Ein Zeiger auf eine SSIZE_T.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef SSIZE_T *PSSIZE_T;

PSTR

Ein Zeiger auf eine mit Null beendete Zeichenfolge von 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef CHAR *PSTR;

PTBYTE

Ein Zeiger auf ein TBYTE-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef TBYTE *PTBYTE;

PTCHAR

Ein Zeiger auf eine TCHAR-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef TCHAR *PTCHAR;

PTSTR

Ein PWSTR-, wenn UNICODE- definiert ist, andernfalls eine PSTR-. Weitere Informationen finden Sie unter Windows-Datentypen für Zeichenfolgen.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Ein Zeiger auf eine UCHAR-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Ein Zeiger auf eine UHALF_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Ein Zeiger auf ein UINT-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef UINT *PUINT;

PUINT_PTR

Ein Zeiger auf eine UINT_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef UINT_PTR *PUINT_PTR;

PUINT8

Ein Zeiger auf eine UINT8-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef UINT8 *PUINT8;

PUINT16

Ein Zeiger auf eine UINT16-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef UINT16 *PUINT16;

PUINT32

Ein Zeiger auf eine UINT32-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef UINT32 *PUINT32;

PUINT64

Ein Zeiger auf eine UINT64-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef UINT64 *PUINT64;

PULONG

Ein Zeiger auf ein ULONG-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef ULONG *PULONG;

PULONGLONG

Ein Zeiger auf ein ULONGLONG-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Ein Zeiger auf eine ULONG_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Ein Zeiger auf eine ULONG32.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef ULONG32 *PULONG32;

PULONG64

Ein Zeiger auf eine ULONG64.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef ULONG64 *PULONG64;

PUSHORT

Ein Zeiger auf ein USHORT-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef USHORT *PUSHORT;

PVOID

Ein Zeiger auf einen beliebigen Typ.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef void *PVOID;

PWCHAR

Ein Zeiger auf eine WCHAR-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef WCHAR *PWCHAR;

PWORD

Ein Zeiger auf eine WORD-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef WORD *PWORD;

PWSTR

Ein Zeiger auf eine mit Null beendete Zeichenfolge mit 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef WCHAR *PWSTR;

QWORD

Eine 64-Bit-ganzzahl ohne Vorzeichen.

Dieser Typ wird wie folgt deklariert:

typedef unsigned __int64 QWORD;

SC_HANDLE

Ein Handle für eine Dienststeuerungs-Manager-Datenbank. Weitere Informationen finden Sie unter SCM Handles.

Dieser Typ wird in WinSvc.h wie folgt deklariert:

typedef HANDLE SC_HANDLE;

SC_LOCK

Eine Sperre für eine Dienststeuerungs-Manager-Datenbank. Weitere Informationen finden Sie unter SCM Handles.

Dieser Typ wird in WinSvc.h wie folgt deklariert:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Ein Handle zu einem Dienststatuswert. Weitere Informationen finden Sie unter SCM Handles.

Dieser Typ wird in WinSvc.h wie folgt deklariert:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

Eine 16-Bit-Ganzzahl. Der Bereich ist -32768 bis 32767 dezimal.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef short SHORT;

SIZE_T

Die maximale Anzahl von Bytes, auf die ein Zeiger zeigen kann. Wird für eine Anzahl verwendet, die den gesamten Bereich eines Zeigers umfassen muss.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef ULONG_PTR SIZE_T;

SSIZE_T

Eine signierte Version von SIZE_T.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef LONG_PTR SSIZE_T;

TBYTE

Ein WCHAR-, wenn UNICODE- definiert ist, andernfalls ein CHAR-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Ein WCHAR-, wenn UNICODE- definiert ist, andernfalls ein CHAR-.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Eine nicht signierte CHAR-.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef unsigned char UCHAR;

UHALF_PTR

Eine nicht signierte HALF_PTR. Verwenden Sie in einer Struktur, die einen Zeiger und zwei kleine Felder enthält.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Eine nicht signierte INT-. Der Bereich ist 0 bis 4294967295 Dezimalkomma.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef unsigned int UINT;

UINT_PTR

Eine nicht signierte INT_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Eine nicht signierte INT8-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef unsigned char UINT8;

UINT16

Eine nicht signierte INT16-.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef unsigned short UINT16;

UINT32

Eine nicht signierte INT32-. Der Bereich ist 0 bis 4294967295 Dezimalkomma.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef unsigned int UINT32;

UINT64

Ein nicht signierter INT64-. Der Bereich ist 0 bis 18446744073709551615 Dezimalkomma.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef unsigned __int64 UINT64;

ULONG

Eine nicht signierte LONG. Der Bereich ist 0 bis 4294967295 Dezimalkomma.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef unsigned long ULONG;

ULONGLONG

Eine 64-Bit-ganzzahl ohne Vorzeichen. Der Bereich ist 0 bis 18446744073709551615 Dezimalkomma.

Dieser Typ wird in WinNT.h wie folgt deklariert:

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

Eine nicht signierte LONG_PTR.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

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

Eine nicht signierte LONG32-. Der Bereich ist 0 bis 4294967295 Dezimalkomma.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef unsigned int ULONG32;

ULONG64

Eine nicht signierte LONG64-. Der Bereich ist 0 bis 18446744073709551615 Dezimalkomma.

Dieser Typ wird in BaseTsd.h wie folgt deklariert:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

Eine Unicode-Zeichenfolge.

Dieser Typ wird in Winternl.h wie folgt deklariert:

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

Eine nicht signierte SHORT-. Der Bereich ist 0 bis 65535 dezimal.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef unsigned short USHORT;

USN

Eine Updatesequenznummer (USN).

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef LONGLONG USN;

VOID

Beliebiger Typ.

Dieser Typ wird in WinNT.h wie folgt deklariert:

#define VOID void

WCHAR

Ein 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter Zeichensätze, die von Schriftartenverwendet werden.

Dieser Typ wird in WinNT.h wie folgt deklariert:

typedef wchar_t WCHAR;

WINAPI

Die Aufrufkonvention für Systemfunktionen.

Dieser Typ wird in WinDef.h wie folgt deklariert:

#define WINAPI __stdcall

CALLBACK-, WINAPI-und APIENTRY- werden alle zum Definieren von Funktionen mit der __stdcall Aufrufkonvention verwendet. Die meisten Funktionen in der Windows-API werden mit WINAPI-deklariert. Sie können CALLBACK- für die von Ihnen implementierten Rückruffunktionen verwenden, um die Funktion als Rückruffunktion zu identifizieren.

WORD

Eine 16-Bit-ganzzahl ohne Vorzeichen. Der Bereich ist 0 bis 65535 dezimal.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef unsigned short WORD;

WPARAM

Ein Nachrichtenparameter.

Dieser Typ wird in WinDef.h wie folgt deklariert:

typedef UINT_PTR WPARAM;

Anforderungen

Anforderung Wert
Mindestens unterstützter Client
Windows XP [nur Desktop-Apps]
Mindestens unterstützter Server
Windows Server 2003 [Nur Desktop-Apps]
Kopfball
BaseTsd.h;
WinDef.h;
WinNT.h