Udostępnij za pośrednictwem


Typy danych systemu Windows

Typy danych obsługiwane przez system Windows służą do definiowania wartości zwracanych funkcji, parametrów funkcji i komunikatów oraz składowych struktury. Definiują one rozmiar i znaczenie tych elementów. Aby uzyskać więcej informacji na temat podstawowych typów danych C/C++, zobacz Zakresy typów danych.

Poniższa tabela zawiera następujące typy: znak, liczba całkowita, wartość logiczna, wskaźnik i uchwyt. Typy znaków, liczb całkowitych i logicznych są wspólne dla większości kompilatorów języka C. Większość nazw typów wskaźników zaczyna się prefiksem P lub LP. Dojścia odwołują się do zasobu, który został załadowany do pamięci.

Aby uzyskać więcej informacji na temat obsługi 64-bitowych liczb całkowitych, zobacz Large Integers.

Typ danych Opis
APIENTRY Konwencja wywoływania funkcji systemowych.
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
#define APIENTRY WINAPI
ATOM Atom. Aby uzyskać więcej informacji, zobacz Informacje o tabelach atomów.
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
typedef WORD ATOM;
BOOL Zmienna logiczna (powinna być true lub FALSE).
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
typedef int BOOL;
BOOLEAN Zmienna logiczna (powinna być true lub FALSE).
Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:
typedef BYTE BOOLEAN;
BYTE Bajt (8 bitów).
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
typedef unsigned char BYTE;
CALLBACK Konwencja wywoływania funkcji wywołania zwrotnego.
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
#define CALLBACK __stdcall
wywołania zwrotnego , interfejsu APIPI i interfejsu APIENTRY są używane do definiowania funkcji z konwencją wywoływania __stdcall. Większość funkcji w interfejsie API systemu Windows jest zadeklarowana przy użyciu WINAPI. Możesz użyć callback dla funkcji wywołania zwrotnego, które implementujesz, aby pomóc zidentyfikować funkcję jako funkcję wywołania zwrotnego.
CCHAR 8-bitowy znak systemu Windows (ANSI).
Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:
typedef char CCHAR;
CHAR 8-bitowy znak systemu Windows (ANSI). Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.
Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:
typedef char CHAR;
COLORREF Kolor czerwony, zielony, niebieski (RGB) (32 bity). Aby uzyskać informacje na temat tego typu, zobacz COLORREF.
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
typedef DWORD COLORREF;
CONST Zmienna, której wartość ma pozostać stała podczas wykonywania.
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
#define CONST const
DWORD 32-bitowa liczba całkowita bez znaku. Zakres wynosi od 0 do 4294967295 dziesiętnego.
Ten typ jest zadeklarowany w pliku IntSafe.h w następujący sposób:
typedef unsigned long DWORD;
DWORDLONG 64-bitowa liczba całkowita bez znaku. Zakres wynosi od 0 do 18446744073709551615 dziesiętnego.
Ten typ jest zadeklarowany w pliku IntSafe.h w następujący sposób:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Niepodpisany długi typ dla precyzji wskaźnika. Użyj metody podczas rzutowania wskaźnika do długiego typu w celu wykonania arytmetyki wskaźnika. (Często używane również w przypadku ogólnych parametrów 32-bitowych, które zostały rozszerzone do 64 bitów w 64-bitowym systemie Windows).
Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:
typedef ULONG_PTR DWORD_PTR;
DWORD32 32-bitowa liczba całkowita bez znaku.
Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:
typedef unsigned int DWORD32;
DWORD64 64-bitowa liczba całkowita bez znaku.
Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:
typedef unsigned __int64 DWORD64;
FLOAT Zmienna zmiennoprzecinkowa.
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
typedef float FLOAT;
HACCEL Dojście do tabeli akceleratora .
Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:
typedef HANDLE HACCEL;
HALF_PTR Połowa rozmiaru wskaźnika. Użyj struktury zawierającej wskaźnik i dwa małe pola.
Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

Uchwyt do obiektu.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef PVOID HANDLE;

HBITMAP

Uchwyt do mapy bitowej .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HBITMAP;

HBRUSH

Uchwyt do szczotki .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HBRUSH;

HCOLORSPACE

Uchwyt do przestrzeni kolorów.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HCOLORSPACE;

HCONV

Dojście do konwersacji dynamicznej wymiany danych (DDE).

Ten typ jest zadeklarowany w pliku Ddeml.h w następujący sposób:

typedef HANDLE HCONV;

HCONVLIST

Dojście do listy konwersacji DDE.

Ten typ jest zadeklarowany w pliku Ddeml.h w następujący sposób:

typedef HANDLE HCONVLIST;

HCURSOR

Uchwyt kursora.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HICON HCURSOR;

HDC

Dojście do kontekstu urządzenia (DC).

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HDC;

HDDEDATA

Dojście do danych DDE.

Ten typ jest zadeklarowany w pliku Ddeml.h w następujący sposób:

typedef HANDLE HDDEDATA;

HDESK

Dojście do desktop.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HDESK;

HDROP

Uchwyt do wewnętrznej struktury upuszczania.

Ten typ jest zadeklarowany w pliku ShellApi.h w następujący sposób:

typedef HANDLE HDROP;

HDWP

Uchwyt do struktury odroczonej pozycji okna.

Ten typ jest zadeklarowany w pliku WinUser.h w następujący sposób:

typedef HANDLE HDWP;

HENHMETAFILE

Dojście do rozszerzonego metapliku.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HENHMETAFILE;

HFILE

Dojście do pliku otwartego przez OpenFile, a nie createFile.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef int HFILE;

HFONT

Dojście do czcionki .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HFONT;

HGDIOBJ

Uchwyt do obiektu GDI.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HGDIOBJ;

HGLOBAL

Uchwyt do globalnego bloku pamięci.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HGLOBAL;

HHOOK

Uchwyt do haka.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HHOOK;

HICON

Dojście do ikony .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HICON;

HINSTANCE

Dojście do wystąpienia. Jest to podstawowy adres modułu w pamięci.

HMODULE i HINSTANCE są dziś takie same, ale reprezentowane są różne elementy w 16-bitowym systemie Windows.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HINSTANCE;

HKEY

Dojście do klucza rejestru.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HKEY;

HKL

Identyfikator ustawień regionalnych danych wejściowych.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HKL;

HLOCAL

Uchwyt do lokalnego bloku pamięci.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HLOCAL;

HMENU

Dojście do menu .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HMENU;

HMETAFILE

Dojście do metapliku.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HMETAFILE;

HMODULE

Uchwyt do modułu. Jest to podstawowy adres modułu w pamięci.

HMODULE i HINSTANCE są takie same w bieżących wersjach systemu Windows, ale reprezentują różne elementy w 16-bitowym systemie Windows.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HINSTANCE HMODULE;

HMONITOR

Uchwyt monitora wyświetlania.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

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

HPALETTE

Uchwyt do palety.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HPALETTE;

HPEN

Uchwyt do pióra.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HPEN;

HRESULT

Kody powrotne używane przez interfejsy COM. Aby uzyskać więcej informacji, zobacz Struktura kodów błędów COM. Aby przetestować wartość HRESULT, użyj makr FAILED i SUCCEEDED.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef LONG HRESULT;

HRGN

Dojście do regionu .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HRGN;

HRSRC

Dojście do zasobu.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HRSRC;

HSZ

Dojście do ciągu DDE.

Ten typ jest zadeklarowany w pliku Ddeml.h w następujący sposób:

typedef HANDLE HSZ;

HWINSTA

Dojście do stacji okien .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE WINSTA;

HWND

Dojście do okna .

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE HWND;

INT

32-bitowa liczba całkowita ze znakiem. Zakres jest -2147483648 przez 2147483647 dziesiętny.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef int INT;

INT_PTR

Typ liczby całkowitej ze znakiem dla precyzji wskaźnika. Użyj funkcji podczas rzutowania wskaźnika do liczby całkowitej w celu wykonania arytmetyki wskaźnika.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

8-bitowa liczba całkowita ze znakiem.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef signed char INT8;

INT16

16-bitowa liczba całkowita ze znakiem.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef signed short INT16;

INT32

32-bitowa liczba całkowita ze znakiem. Zakres jest -2147483648 przez 2147483647 dziesiętny.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef signed int INT32;

INT64

64-bitowa liczba całkowita ze znakiem. Zakres jest -9223372036854775808 przez 9223372036854775807 dziesiętne.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef signed __int64 INT64;

LANGID

Identyfikator języka. Aby uzyskać więcej informacji, zobacz Language Identifiers.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef WORD LANGID;

LCID

Identyfikator ustawień regionalnych. Aby uzyskać więcej informacji, zobacz Identyfikatory ustawień regionalnych.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef DWORD LCID;

LCTYPE

Typ informacji o ustawieniach regionalnych. Aby uzyskać listę, zobacz Stałe informacji o ustawieniach regionalnych.

Ten typ jest zadeklarowany w pliku WinNls.h w następujący sposób:

typedef DWORD LCTYPE;

LGRPID

Identyfikator grupy językowej. Aby uzyskać listę, zobacz EnumLanguageGroupLocales.

Ten typ jest zadeklarowany w pliku WinNls.h w następujący sposób:

typedef DWORD LGRPID;

LONG

32-bitowa liczba całkowita ze znakiem. Zakres jest -2147483648 przez 2147483647 dziesiętny.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef long LONG;

LONGLONG

64-bitowa liczba całkowita ze znakiem. Zakres jest -9223372036854775808 przez 9223372036854775807 dziesiętne.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

Podpisany długi typ dla precyzji wskaźnika. Użyj polecenia podczas rzutowania wskaźnika do długiego, aby wykonać arytmetyczną wskaźnik.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

32-bitowa liczba całkowita ze znakiem. Zakres jest -2147483648 przez 2147483647 dziesiętny.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef signed int LONG32;

LONG64

64-bitowa liczba całkowita ze znakiem. Zakres jest -9223372036854775808 przez 9223372036854775807 dziesiętne.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef __int64 LONG64;

LPARAM

Parametr komunikatu.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef LONG_PTR LPARAM;

LPBOOL

Wskaźnik do BOOL.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef BOOL far *LPBOOL;

LPBYTE

Wskaźnik do BYTE.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef BYTE far *LPBYTE;

LPCOLORREF

Wskaźnik do wartości COLORREF.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef DWORD *LPCOLORREF;

LPCSTR

Wskaźnik do stałego ciągu zakończonego wartością null z 8-bitowymi znakami systemu Windows (ANSI). Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

LPCWSTR, jeśli zdefiniowano UNICODE, LPCSTR. Aby uzyskać więcej informacji, zobacz Typy danych systemu Windows dla ciągów.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

Wskaźnik do stałej dowolnego typu.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef CONST void *LPCVOID;

LPCWSTR

Wskaźnik do stałego ciągu zakończonego wartością null z 16-bitowymi znakami Unicode. Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

Wskaźnik do DWORD.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef DWORD *LPDWORD;

LPHANDLE

Wskaźnik do HANDLE.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HANDLE *LPHANDLE;

LPINT

Wskaźnik do INT.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef int *LPINT;

LPLONG

Wskaźnik do LONG.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef long *LPLONG;

LPSTR

Wskaźnik do ciągu zakończonego wartością null z 8-bitowymi znakami systemu Windows (ANSI). Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef CHAR *LPSTR;

LPTSTR

LPWSTR, jeśli UNICODE, LPSTR. Aby uzyskać więcej informacji, zobacz Typy danych systemu Windows dla ciągów.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

Wskaźnik do dowolnego typu.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef void *LPVOID;

LPWORD

Wskaźnik do WORD.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef WORD *LPWORD;

LPWSTR

Wskaźnik do ciągu zakończonego wartością null z 16-bitowymi znakami Unicode. Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef WCHAR *LPWSTR;

LRESULT

Podpisany wynik przetwarzania komunikatów.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef LONG_PTR LRESULT;

PBOOL

Wskaźnik do BOOL.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef BOOL *PBOOL;

PBOOLEAN

Wskaźnik do wartości logicznej .

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Wskaźnik do BYTE.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef BYTE *PBYTE;

PCHAR

Wskaźnik do CHAR.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef CHAR *PCHAR;

PCSTR

Wskaźnik do stałego ciągu zakończonego wartością null z 8-bitowymi znakami systemu Windows (ANSI). Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef CONST CHAR *PCSTR;

PCTSTR

PCWSTR, jeśli zdefiniowano UNICODE, PCSTR. Aby uzyskać więcej informacji, zobacz Typy danych systemu Windows dla ciągów.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

Wskaźnik do stałego ciągu zakończonego wartością null z 16-bitowymi znakami Unicode. Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef CONST WCHAR *PCWSTR;

PDWORD

Wskaźnik do DWORD.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef DWORD *PDWORD;

PDWORDLONG

Wskaźnik do DWORDLONG.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Wskaźnik do DWORD_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Wskaźnik do DWORD32.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef DWORD32 *PDWORD32;

PDWORD64

Wskaźnik do DWORD64.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef DWORD64 *PDWORD64;

PFLOAT

Wskaźnik do FLOAT.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef FLOAT *PFLOAT;

PHALF_PTR

Wskaźnik do HALF_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

Wskaźnik do HANDLE.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef HANDLE *PHANDLE;

PHKEY

Wskaźnik do HKEY.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef HKEY *PHKEY;

PINT

Wskaźnik do INT.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef int *PINT;

PINT_PTR

Wskaźnik do INT_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef INT_PTR *PINT_PTR;

PINT8

Wskaźnik do INT8.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef INT8 *PINT8;

PINT16

Wskaźnik do INT16.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef INT16 *PINT16;

PINT32

Wskaźnik do INT32.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef INT32 *PINT32;

PINT64

Wskaźnik do INT64.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef INT64 *PINT64;

PLCID

Wskaźnik do LCID.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef PDWORD PLCID;

PLONG

Wskaźnik do LONG.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef LONG *PLONG;

PLONGLONG

Wskaźnik do LONGLONG.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Wskaźnik do LONG_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef LONG_PTR *PLONG_PTR;

PLONG32

Wskaźnik do LONG32.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef LONG32 *PLONG32;

PLONG64

Wskaźnik do LONG64.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef LONG64 *PLONG64;

POINTER_32

Wskaźnik 32-bitowy. W systemie 32-bitowym jest to natywny wskaźnik. W systemie 64-bitowym jest to obcięty wskaźnik 64-bitowy.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

Wskaźnik 64-bitowy. W systemie 64-bitowym jest to natywny wskaźnik. W systemie 32-bitowym jest to wskaźnik 32-bitowy rozszerzony na znak.

Należy pamiętać, że nie można bezpiecznie założyć stanu wysokiego wskaźnika bitu.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

Podpisany wskaźnik.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

Niepodpisany wskaźnik.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

#define POINTER_UNSIGNED __uptr

PSHORT

Wskaźnik do SHORT.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef SHORT *PSHORT;

PSIZE_T

Wskaźnik do SIZE_T.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Wskaźnik do SSIZE_T.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef SSIZE_T *PSSIZE_T;

PSTR

Wskaźnik do ciągu zakończonego wartością null z 8-bitowymi znakami systemu Windows (ANSI). Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef CHAR *PSTR;

PTBYTE

Wskaźnik do TBYTE.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef TBYTE *PTBYTE;

PTCHAR

Wskaźnik do TCHAR.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef TCHAR *PTCHAR;

PTSTR

PWSTR, jeśli zdefiniowano UNICODE, PSTR. Aby uzyskać więcej informacji, zobacz Typy danych systemu Windows dla ciągów.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

Wskaźnik do UCHAR.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Wskaźnik do UHALF_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

Wskaźnik do UINT.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef UINT *PUINT;

PUINT_PTR

Wskaźnik do UINT_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef UINT_PTR *PUINT_PTR;

PUINT8

Wskaźnik do UINT8.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef UINT8 *PUINT8;

PUINT16

Wskaźnik do UINT16.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef UINT16 *PUINT16;

PUINT32

Wskaźnik do UINT32.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef UINT32 *PUINT32;

PUINT64

Wskaźnik do UINT64.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef UINT64 *PUINT64;

PULONG

Wskaźnik do ULONG.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef ULONG *PULONG;

PULONGLONG

Wskaźnik do ULONGLONG.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Wskaźnik do ULONG_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Wskaźnik do ULONG32.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef ULONG32 *PULONG32;

PULONG64

Wskaźnik do ULONG64.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef ULONG64 *PULONG64;

PUSHORT

Wskaźnik do USHORT.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef USHORT *PUSHORT;

PVOID

Wskaźnik do dowolnego typu.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef void *PVOID;

PWCHAR

Wskaźnik do WCHAR.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef WCHAR *PWCHAR;

PWORD

Wskaźnik do WORD.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef WORD *PWORD;

PWSTR

Wskaźnik do ciągu zakończonego wartością null z 16-bitowymi znakami Unicode. Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef WCHAR *PWSTR;

QWORD

64-bitowa liczba całkowita bez znaku.

Ten typ jest zadeklarowany w następujący sposób:

typedef unsigned __int64 QWORD;

SC_HANDLE

Dojście do bazy danych menedżera kontroli usług. Aby uzyskać więcej informacji, zobacz SCM Handles.

Ten typ jest zadeklarowany w pliku WinSvc.h w następujący sposób:

typedef HANDLE SC_HANDLE;

SC_LOCK

Blokada bazy danych menedżera kontroli usług. Aby uzyskać więcej informacji, zobacz SCM Handles.

Ten typ jest zadeklarowany w pliku WinSvc.h w następujący sposób:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Dojście do wartości stanu usługi. Aby uzyskać więcej informacji, zobacz SCM Handles.

Ten typ jest zadeklarowany w pliku WinSvc.h w następujący sposób:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

16-bitowa liczba całkowita. Zakres jest -32768 do 32767 dziesiętnych.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef short SHORT;

SIZE_T

Maksymalna liczba bajtów, do których wskaźnik może wskazywać. Należy użyć dla liczby, która musi obejmować pełny zakres wskaźnika.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef ULONG_PTR SIZE_T;

SSIZE_T

Podpisana wersja SIZE_T.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef LONG_PTR SSIZE_T;

TBYTE

WCHAR, jeśli zdefiniowano UNICODE, char.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

WCHAR, jeśli zdefiniowano UNICODE, char.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

Niepodpisane CHAR.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef unsigned char UCHAR;

UHALF_PTR

Niepodpisany HALF_PTR. Użyj struktury zawierającej wskaźnik i dwa małe pola.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

Niepodpisane INT. Zakres wynosi od 0 do 4294967295 dziesiętnego.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef unsigned int UINT;

UINT_PTR

Niepodpisany INT_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

Niepodpisany INT8.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef unsigned char UINT8;

UINT16

Niepodpisany INT16.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef unsigned short UINT16;

UINT32

Niepodpisany INT32. Zakres wynosi od 0 do 4294967295 dziesiętnego.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef unsigned int UINT32;

UINT64

Niepodpisany INT64. Zakres wynosi od 0 do 18446744073709551615 dziesiętnego.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef unsigned __int64 UINT64;

ULONG

Niepodpisany LONG. Zakres wynosi od 0 do 4294967295 dziesiętnego.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef unsigned long ULONG;

ULONGLONG

64-bitowa liczba całkowita bez znaku. Zakres wynosi od 0 do 18446744073709551615 dziesiętnego.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

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

Niepodpisany LONG_PTR.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

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

Niepodpisany LONG32. Zakres wynosi od 0 do 4294967295 dziesiętnego.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef unsigned int ULONG32;

ULONG64

Niepodpisany LONG64. Zakres wynosi od 0 do 18446744073709551615 dziesiętnego.

Ten typ jest zadeklarowany w pliku BaseTsd.h w następujący sposób:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

Ciąg Unicode.

Ten typ jest zadeklarowany w pliku Winternl.h w następujący sposób:

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

Niepodpisany SHORT. Zakres wynosi od 0 do 65535 dziesiętnych.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef unsigned short USHORT;

USN

Numer sekwencji aktualizacji (USN).

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef LONGLONG USN;

VOID

Dowolny typ.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

#define VOID void

WCHAR

16-bitowy znak Unicode. Aby uzyskać więcej informacji, zobacz zestawy znaków używane przez czcionki.

Ten typ jest zadeklarowany w pliku WinNT.h w następujący sposób:

typedef wchar_t WCHAR;

WINAPI

Konwencja wywoływania funkcji systemowych.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

#define WINAPI __stdcall

wywołania zwrotnego , interfejsu APIPI i interfejsu APIENTRY są używane do definiowania funkcji z konwencją wywoływania __stdcall. Większość funkcji w interfejsie API systemu Windows jest zadeklarowana przy użyciu WINAPI. Możesz użyć callback dla funkcji wywołania zwrotnego, które implementujesz, aby pomóc zidentyfikować funkcję jako funkcję wywołania zwrotnego.

WORD

16-bitowa liczba całkowita bez znaku. Zakres wynosi od 0 do 65535 dziesiętnych.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef unsigned short WORD;

WPARAM

Parametr komunikatu.

Ten typ jest zadeklarowany w pliku WinDef.h w następujący sposób:

typedef UINT_PTR WPARAM;

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient
Windows XP [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer
Windows Server 2003 [tylko aplikacje klasyczne]
Nagłówek
BaseTsd.h;
WinDef.h;
WinNT.h