Windows-Datentypen

Die von Windows unterstützten Datentypen werden verwendet, um Funktions Rückgabewerte, Funktions-und Nachrichten Parameter sowie Strukturmember zu definieren. Sie definieren die Größe und Bedeutung dieser Elemente. Weitere Informationen zu den zugrunde liegenden C/C++-Datentypen finden Sie unter Datentyp Bereiche.

Die folgende Tabelle enthält die folgenden Typen: Zeichen, Ganzzahl, boolescher Wert, Zeiger und handle. Die Typen "Character", "Integer" und "Boolean" sind für die meisten C-Compiler üblich. Die meisten Zeiger Typennamen beginnen mit einem Präfix von P oder LP. Handles verweisen auf eine Ressource, die in den Arbeitsspeicher geladen wurde.

Weitere Informationen zum Verarbeiten von 64-Bit-Ganzzahlen finden Sie unter große ganzeZahlen.

Datentyp BESCHREIBUNG
Apientry Die Aufruf Konvention für Systemfunktionen.
Dieser Typ wird in WINDEF. h wie folgt deklariert:
#define APIENTRY WINAPI
DAT Ein Atom. Weitere Informationen finden Sie unter Informationen zu Atom-Tabellen.
Dieser Typ wird in WINDEF. h wie folgt deklariert:
typedef WORD ATOM;
BOOL Eine boolesche Variable (sollte " true " oder " false" lauten).
Dieser Typ wird in WINDEF. h wie folgt deklariert:
typedef int BOOL;
Booleschen Eine boolesche Variable (sollte " true " oder " false" lauten).
Dieser Typ wird in "Winnt. h" wie folgt deklariert:
typedef BYTE BOOLEAN;
Hobby Ein Byte (8 Bits).
Dieser Typ wird in WINDEF. h wie folgt deklariert:
typedef unsigned char BYTE;
Rück Die Aufruf Konvention für Rückruf Funktionen.
Dieser Typ wird in WINDEF. h wie folgt deklariert:
#define CALLBACK __stdcall
Callback, WinAPIund apientry werden verwendet, um Funktionen mit der __stdcall-Aufruf Konvention zu definieren. Die meisten Funktionen in der Windows-API werden mithilfe von WinAPIdeklariert. Möglicherweise möchten Sie den Rückruf für die von Ihnen implementierten Rückruf Funktionen 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 von Schriftarten verwendete Zeichensätze.
Dieser Typ wird in "Winnt. h" wie folgt deklariert:
typedef char CHAR;
COLORREF Der rote, grüne, blaue (RGB) Farbwert (32 Bits). Weitere 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 liegt zwischen 0 und 4294967295 Decimal.
Dieser Typ wird in "inzafe. h" wie folgt deklariert:
typedef unsigned long DWORD;
DWORDLONG Eine 64-Bit-Ganzzahl ohne Vorzeichen. Der Bereich liegt zwischen 0 und 18446744073709551615 Decimal.
Dieser Typ wird in "inzafe. h" wie folgt deklariert:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Ein Long-Typ ohne Vorzeichen für die Zeiger Genauigkeit. Verwenden Sie, wenn Sie einen Zeiger auf einen Long-Typ umwandeln, um Zeigerarithmetik auszuführen. (Wird auch häufig für allgemeine 32-Bit-Parameter verwendet, die auf 64 Bits in 64-Bit-Fenstern 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;
Hafen Eine Gleit Komma Variable.
Dieser Typ wird in WINDEF. h wie folgt deklariert:
typedef float FLOAT;
Haccel Ein Handle für eine Zugriffstasten Tabelle.
Dieser Typ wird in WINDEF. h wie folgt deklariert:
typedef HANDLE HACCEL;
HALF_PTR Die Hälfte der Größe eines Zeigers. Verwenden Sie innerhalb 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
Bewältigen

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 Handle für einen Pinsel.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HBRUSH;

Hcolorspace

Ein Handle für einen Farbraum.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HCOLORSPACE;

Has

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

Dieser Typ wird in "Ddeml. h" wie folgt deklariert:

typedef HANDLE HCONV;

Hvlist

Ein Handle für eine DDE-Konversations Liste.

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;

Hddecodata

Ein Handle für DDE-Daten.

Dieser Typ wird in "Ddeml. h" wie folgt deklariert:

typedef HANDLE HDDEDATA;

Hdesk

Ein Handle für einen Desktop.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HDESK;

HDROP

Ein Handle für eine interne Drop-Struktur.

Dieser Typ wird in "shellapi. h" wie folgt deklariert:

typedef HANDLE HDROP;

Hdwp

Ein Handle für eine verzögerte Fenster Positions Struktur.

Dieser Typ wird in winuser. h wie folgt deklariert:

typedef HANDLE HDWP;

"HENHMETAFILE"

Ein Handle für eine Erweiterte Metadatei.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HENHMETAFILE;

HFILE

Ein Handle für eine Datei, die von OpenFilegeöffnet wurde , nicht für"".

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 für ein GDI-Objekt.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HGDIOBJ;

HGLOBAL

Ein Handle für einen globalen Speicherblock.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HGLOBAL;

Hhook

Ein Handle für einen Hook.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HHOOK;

HICON

Ein Handle für ein 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, haben jedoch unterschiedliche Dinge in 16-Bit-Fenstern dargestellt.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HINSTANCE;

HKEY

Ein Handle für einen Registrierungsschlüssel.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HKEY;

HKL

Ein Eingabe Gebiets Schema Bezeichner.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HKL;

Hlocal

Ein Handle für einen lokalen Speicherblock.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HLOCAL;

HMENU

Ein Handle für ein Menü.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HMENU;

HMETAFILE

Ein Handle für eine Metadatei.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HMETAFILE;

HMODULE

Ein Handle für ein Modul. Die ist die Basisadresse des Moduls im Arbeitsspeicher.

HMODULE und HINSTANCE sind in den aktuellen Versionen von Windows identisch, haben jedoch unterschiedliche Dinge in 16-Bit-Fenstern dargestellt.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HINSTANCE HMODULE;

Hmonitor

Ein Handle für einen Anzeige Monitor.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

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

HPALETTE

Ein Handle für eine Palette.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HANDLE HPALETTE;

HPEN

Ein Handle 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-Fehler Codes. Um einen HRESULT -Wert zu testen, verwenden Sie die Makros failed und war erfolgreich .

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef LONG HRESULT;

Hrgn

Ein Handle für einen Bereich.

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 Handle für eine Fenster Station.

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;

Wartenden

Eine 32-Bit-Ganzzahl mit Vorzeichen. Der Bereich liegt zwischen-2147483648 und 2147483647 Decimal.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef int INT;

INT_PTR

Ein ganzzahliger Typ mit Vorzeichen für die Zeiger Genauigkeit. Verwenden Sie, wenn Sie einen Zeiger in eine ganze Zahl umwandeln, 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 liegt zwischen-2147483648 und 2147483647 Decimal.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef signed int INT32;

Int64

Eine 64-Bit-Ganzzahl mit Vorzeichen. Der Bereich ist-9.223.372.036.854.775.808 bis 9223372036854775807 Decimal.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef signed __int64 INT64;

LANGID

Eine Sprach-ID. Weitere Informationen finden Sie unter sprachBezeichner.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef WORD LANGID;

LCID

Ein Gebiets Schema Bezeichner. Weitere Informationen finden Sie unter Gebiets Schema Bezeichner.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef DWORD LCID;

LCTYPE

Ein Gebiets Schema Informationstyp. Eine Liste finden Sie unter Gebiets Schema- Informations Konstanten.

Dieser Typ wird in winnls. h wie folgt deklariert:

typedef DWORD LCTYPE;

Lgrpid

Ein Bezeichner für die Sprachgruppe. Eine Liste finden Sie unter enumlanguagegroupgebietsSchemas.

Dieser Typ wird in winnls. h wie folgt deklariert:

typedef DWORD LGRPID;

Lange

Eine 32-Bit-Ganzzahl mit Vorzeichen. Der Bereich liegt zwischen-2147483648 und 2147483647 Decimal.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef long LONG;

LONGLONG

Eine 64-Bit-Ganzzahl mit Vorzeichen. Der Bereich ist-9.223.372.036.854.775.808 bis 9223372036854775807 Decimal.

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 Long-Typ mit Vorzeichen für die Zeiger Genauigkeit. Verwenden Sie, wenn Sie einen Zeiger in eine Länge 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 liegt zwischen-2147483648 und 2147483647 Decimal.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef signed int LONG32;

LONG64

Eine 64-Bit-Ganzzahl mit Vorzeichen. Der Bereich ist-9.223.372.036.854.775.808 bis 9223372036854775807 Decimal.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef __int64 LONG64;

LParam

Ein Meldungs Parameter.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef LONG_PTR LPARAM;

LPBOOL

Ein Zeiger auf einen bool.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef BOOL far *LPBOOL;

LPBYTE

Ein Zeiger auf ein 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 mit NULL endende Zeichenfolge von 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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ürZeichen folgen.

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 Konstante mit NULL endenden Zeichenfolge aus 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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 einen int.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef int *LPINT;

Lplong

Ein Zeiger auf einen Long-.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef long *LPLONG;

LPSTR

Ein Zeiger auf eine auf NULL endende Zeichenfolge von 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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ürZeichen folgen.

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 ein Wort.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef WORD *LPWORD;

LPWSTR

Ein Zeiger auf eine NULL-terminierte Zeichenfolge aus 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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 einen bool.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef BOOL *PBOOL;

Pboolescher Wert

Ein Zeiger auf einen booleschenWert.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Ein Zeiger auf ein Byte.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef BYTE *PBYTE;

PChar

Ein Zeiger auf ein char.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef CHAR *PCHAR;

Pcstr

Ein Zeiger auf eine Konstante mit NULL endende Zeichenfolge von 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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ürZeichen folgen.

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 Konstante mit NULL endenden Zeichenfolge aus 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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 dwordlong.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Ein Zeiger auf einen 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 einen float-Wert.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef FLOAT *PFLOAT;

PHALF_PTR

Ein Zeiger auf einen 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 einen HKEY.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef HKEY *PHKEY;

Zeigen

Ein Zeiger auf einen int.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef int *PINT;

PINT_PTR

Ein Zeiger auf einen 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 einen Long-.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef LONG *PLONG;

Plonglong

Ein Zeiger auf einen Longlong.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Ein Zeiger auf einen 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. Bei einem 32-Bit-System handelt es sich hierbei um einen nativen Zeiger. Bei einem 64-Bit-System handelt es sich hierbei um einen abgeschnittene 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. Bei einem 64-Bit-System handelt es sich hierbei um einen nativen Zeiger. Auf einem 32-Bit-System ist dies ein mit Vorzeichen erweiterter 32-Bit-Zeiger.

Beachten Sie, dass es nicht sicher ist, dass der Status des hohen Zeiger Bits angenommen wird.

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 Zeiger mit Vorzeichen.

Dieser Typ wird in basetsd. h wie folgt deklariert:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

Ein Zeiger ohne Vorzeichen.

Dieser Typ wird in basetsd. h wie folgt deklariert:

#define POINTER_UNSIGNED __uptr

Pshort

Ein Zeiger auf einen kurzen.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef SHORT *PSHORT;

PSIZE_T

Ein Zeiger auf einen size_t.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Ein Zeiger auf einen SSIZE_T.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef SSIZE_T *PSSIZE_T;

Pstr

Ein Zeiger auf eine auf NULL endende Zeichenfolge von 8-Bit-Windows-Zeichen (ANSI). Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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 einen TCHAR.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef TCHAR *PTCHAR;

Ptstr

Ein pwstr , wenn Unicode definiert ist, andernfalls ein Pstr . Weitere Informationen finden Sie unter Windows-Datentypen fürZeichen folgen.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

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

Ein Zeiger auf einen UCHAR.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Ein Zeiger auf einen 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 einen uint.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef UINT *PUINT;

PUINT_PTR

Ein Zeiger auf einen 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 einen ulong.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef ULONG *PULONG;

Pulonglong

Ein Zeiger auf einen ULONGLONG.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Ein Zeiger auf einen 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 einen 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 ein WCHAR.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef WCHAR *PWCHAR;

PWORD

Ein Zeiger auf ein Wort.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef WORD *PWORD;

Pwstr

Ein Zeiger auf eine NULL-terminierte Zeichenfolge aus 16-Bit-Unicode-Zeichen. Weitere Informationen finden Sie unter von Schriftarten verwendete Zeichensätze.

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 für einen Dienststatus Wert. Weitere Informationen finden Sie unter SCM-Handles.

Dieser Typ wird in winsvc. h wie folgt deklariert:

typedef HANDLE SERVICE_STATUS_HANDLE;

Kurzem

Eine 16-Bit-Ganzzahl. Der Bereich liegt zwischen-32768 und 32767 Decimal.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef short SHORT;

SIZE_T

Die maximale Anzahl von Bytes, auf die ein Zeiger verweisen kann. Verwenden Sie für einen Zähler, der den vollständigen 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

Ein Zeichen ohne Vorzeichen.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef unsigned char UCHAR;

UHALF_PTR

Ein nicht signiertes HALF_PTR. Verwenden Sie innerhalb 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

Ein int-Ganzzahl ohne Vorzeichen. Der Bereich liegt zwischen 0 und 4294967295 Decimal.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef unsigned int UINT;

UINT_PTR

Ein nicht signiertes 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

Ein int8ohne Vorzeichen.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef unsigned char UINT8;

UInt16

Ein INT16ohne Vorzeichen.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef unsigned short UINT16;

UInt32

Ein Int32ohne Vorzeichen. Der Bereich liegt zwischen 0 und 4294967295 Decimal.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef unsigned int UINT32;

UINT64

Ein Int64ohne Vorzeichen. Der Bereich liegt zwischen 0 und 18446744073709551615 Decimal.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef usigned __int 64 UINT64;

ULONG

Ein Long-Typ ohne Vorzeichen. Der Bereich liegt zwischen 0 und 4294967295 Decimal.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef unsigned long ULONG;

ULONGLONG

Eine 64-Bit-Ganzzahl ohne Vorzeichen. Der Bereich liegt zwischen 0 und 18446744073709551615 Decimal.

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

Ein nicht signiertes 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

Ein LONG32ohne Vorzeichen. Der Bereich liegt zwischen 0 und 4294967295 Decimal.

Dieser Typ wird in basetsd. h wie folgt deklariert:

typedef unsigned int ULONG32;

ULONG64

Ein LONG64ohne Vorzeichen. Der Bereich liegt zwischen 0 und 18446744073709551615 Decimal.

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

Ein Kurzschlussohne Vorzeichen. Der Bereich liegt zwischen 0 und 65535 Decimal.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef unsigned short USHORT;

USN

Eine Update Sequenznummer (Update Sequence Number, US).

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef LONGLONG USN;

Blutung

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 von Schriftarten verwendete Zeichensätze.

Dieser Typ wird in "Winnt. h" wie folgt deklariert:

typedef wchar_t WCHAR;

WinAPI

Die Aufruf Konvention für Systemfunktionen.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

#define WINAPI __stdcall

Callback, WinAPIund apientry werden verwendet, um Funktionen mit der __stdcall-Aufruf Konvention zu definieren. Die meisten Funktionen in der Windows-API werden mithilfe von WinAPIdeklariert. Möglicherweise möchten Sie den Rückruf für die von Ihnen implementierten Rückruf Funktionen verwenden, um die Funktion als Rückruffunktion zu identifizieren.

Wort

Eine 16-Bit-Ganzzahl ohne Vorzeichen. Der Bereich liegt zwischen 0 und 65535 Decimal.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef unsigned short WORD;

WParam

Ein Meldungs Parameter.

Dieser Typ wird in WINDEF. h wie folgt deklariert:

typedef UINT_PTR WPARAM;

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Nur Windows XP [ -Desktop-Apps]
Unterstützte Mindestversion (Server)
Nur Windows Server 2003 [ -Desktop-Apps]
Header
Basetsd. h;
WINDEF. h;
Winnt. h