Bagikan melalui


Tipe Data Windows

Jenis data yang didukung oleh Windows digunakan untuk menentukan nilai pengembalian fungsi, parameter fungsi dan pesan, dan anggota struktur. Mereka mendefinisikan ukuran dan arti elemen-elemen ini. Untuk informasi selengkapnya tentang jenis data C/C++ yang mendasar, lihat Rentang Tipe Data.

Tabel berikut berisi jenis berikut: karakter, bilangan bulat, Boolean, penunjuk, dan handel. Jenis karakter, bilangan bulat, dan Boolean umum untuk sebagian besar pengompilasi C. Sebagian besar nama jenis penunjuk dimulai dengan awalan P atau LP. Handel merujuk ke sumber daya yang telah dimuat ke dalam memori.

Untuk informasi selengkapnya tentang menangani bilangan bulat 64-bit, lihat Bilangan Bulat Besar.

Jenis data Deskripsi
APIENTRY Konvensi panggilan untuk fungsi sistem.
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
#define APIENTRY WINAPI
ATOM Sebuah atom. Untuk informasi selengkapnya, lihat Tentang Tabel Atom.
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
typedef WORD ATOM;
BOOL Variabel Boolean (harus true atau FALSE).
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
typedef int BOOL;
BOOLEAN Variabel Boolean (harus true atau FALSE).
Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:
typedef BYTE BOOLEAN;
BYTE Byte (8 bit).
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
typedef unsigned char BYTE;
CALLBACK Konvensi panggilan untuk fungsi panggilan balik.
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
#define CALLBACK __stdcall
CALLBACK, WINAPI, dan APIENTRY semuanya digunakan untuk menentukan fungsi dengan konvensi panggilan __stdcall. Sebagian besar fungsi di Windows API dinyatakan menggunakan WINAPI. Anda mungkin ingin menggunakan CALLBACK untuk fungsi panggilan balik yang Anda terapkan untuk membantu mengidentifikasi fungsi sebagai fungsi panggilan balik.
CCHAR Karakter Windows (ANSI) 8-bit.
Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:
typedef char CCHAR;
CHAR Karakter Windows (ANSI) 8-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.
Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:
typedef char CHAR;
COLORREF Nilai warna merah, hijau, biru (RGB) (32 bit). Lihat COLORREF untuk informasi tentang jenis ini.
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
typedef DWORD COLORREF;
CONST Variabel yang nilainya akan tetap konstan selama eksekusi.
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
#define CONST const
DWORD Bilangan bulat yang tidak ditandatangani 32-bit. Rentangnya adalah 0 hingga 4294967295 desimal.
Jenis ini dideklarasikan dalam IntSafe.h sebagai berikut:
typedef unsigned long DWORD;
DWORDLONG Bilangan bulat yang tidak ditandatangani 64-bit. Rentangnya adalah 0 hingga 18446744073709551615 desimal.
Jenis ini dideklarasikan dalam IntSafe.h sebagai berikut:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Jenis panjang yang tidak ditandatangani untuk presisi penunjuk. Gunakan saat mentransmisikan pointer ke jenis panjang untuk melakukan aritmatika pointer. (Juga umumnya digunakan untuk parameter umum 32-bit yang telah diperluas hingga 64 bit di Windows 64-bit.)
Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:
typedef ULONG_PTR DWORD_PTR;
DWORD32 Bilangan bulat yang tidak ditandatangani 32-bit.
Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:
typedef unsigned int DWORD32;
DWORD64 Bilangan bulat yang tidak ditandatangani 64-bit.
Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:
typedef unsigned __int64 DWORD64;
FLOAT Variabel floating-point.
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
typedef float FLOAT;
HACCEL Handel ke tabel akselerator .
Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:
typedef HANDLE HACCEL;
HALF_PTR Setengah ukuran pointer. Gunakan dalam struktur yang berisi pointer dan dua bidang kecil.
Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

Handel ke objek.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef PVOID HANDLE;

HBITMAP

Handel ke bitmap .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HBITMAP;

HBRUSH

Handel ke kuas .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HBRUSH;

HCOLORSPACE

Handel ke ruang warna .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HCOLORSPACE;

HCONV

Handel ke percakapan pertukaran data dinamis (DDE).

Jenis ini dideklarasikan dalam Ddeml.h sebagai berikut:

typedef HANDLE HCONV;

HCONVLIST

Handel ke daftar percakapan DDE.

Jenis ini dideklarasikan dalam Ddeml.h sebagai berikut:

typedef HANDLE HCONVLIST;

HCURSOR

Handel ke kursor .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HICON HCURSOR;

HDC

Handel ke konteks perangkat (DC).

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HDC;

HDDEDATA

Handel ke data DDE.

Jenis ini dideklarasikan dalam Ddeml.h sebagai berikut:

typedef HANDLE HDDEDATA;

HDESK

Handel kedesktop .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HDESK;

HDROP

Handel ke struktur drop internal.

Jenis ini dideklarasikan dalam ShellApi.h sebagai berikut:

typedef HANDLE HDROP;

HDWP

Handel ke struktur posisi jendela yang ditangguhkan.

Jenis ini dideklarasikan dalam WinUser.h sebagai berikut:

typedef HANDLE HDWP;

HENHMETAFILE

Handel ke metafile ditingkatkan.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HENHMETAFILE;

HFILE

Handel ke file yang dibuka oleh OpenFile, bukan CreateFile.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef int HFILE;

HFONT

Handel ke font .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HFONT;

HGDIOBJ

Handel ke objek GDI.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HGDIOBJ;

HGLOBAL

Handel ke blok memori global.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HGLOBAL;

HHOOK

Handel kekait .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HHOOK;

HICON

Handel ke ikon .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HICON;

HINSTANCE

Handel ke instans. Ini adalah alamat dasar modul dalam memori.

HMODULE dan HINSTANCE sama hari ini, tetapi mewakili hal yang berbeda di Windows 16-bit.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HINSTANCE;

HKEY

Handel ke kunci registri.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HKEY;

HKL

Pengidentifikasi lokal input.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HKL;

HLOCAL

Handel ke blok memori lokal.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HLOCAL;

HMENU

Handel ke menu .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HMENU;

HMETAFILE

Handel ke metafile .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HMETAFILE;

HMODULE

Handel ke modul. Ini adalah alamat dasar modul dalam memori.

HMODULE dan HINSTANCE sama dalam versi Windows saat ini, tetapi mewakili hal yang berbeda di Windows 16-bit.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HINSTANCE HMODULE;

HMONITOR

Handel ke monitor tampilan.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

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

HPALETTE

Handel ke palet.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HPALETTE;

HPEN

Handel ke pena .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HPEN;

HRESULT

Kode pengembalian yang digunakan oleh antarmuka COM. Untuk informasi selengkapnya, lihat Struktur Kode Kesalahan COM. Untuk menguji nilai HRESULT, gunakan GAGAL dan makro BERHASIL.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef LONG HRESULT;

HRGN

Handel ke wilayah .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HRGN;

HRSRC

Handel ke sumber daya.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HRSRC;

HSZ

Handel ke string DDE.

Jenis ini dideklarasikan dalam Ddeml.h sebagai berikut:

typedef HANDLE HSZ;

HWINSTA

Handel ke stasiun jendela .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE WINSTA;

HWND

Handel ke jendela .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HWND;

INT

Bilangan bulat bertanda tangan 32-bit. Rentangnya -2147483648 melalui desimal 2147483647.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef int INT;

INT_PTR

Jenis bilangan bulat yang ditandatangani untuk presisi penunjuk. Gunakan saat mentransmisikan penunjuk ke bilangan bulat untuk melakukan aritmatika penunjuk.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

Bilangan bulat bertanda tangan 8-bit.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed char INT8;

INT16

Bilangan bulat bertanda tangan 16-bit.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed short INT16;

INT32

Bilangan bulat bertanda tangan 32-bit. Rentangnya -2147483648 melalui desimal 2147483647.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed int INT32;

INT64

Bilangan bulat bertanda tangan 64-bit. Rentangnya -9223372036854775808 melalui desimal 9223372036854775807.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed __int64 INT64;

LANGID

Pengidentifikasi bahasa. Untuk informasi selengkapnya, lihat Pengidentifikasi Bahasa.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef WORD LANGID;

LCID

Pengidentifikasi lokal. Untuk informasi selengkapnya, lihat Pengidentifikasi Lokal.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef DWORD LCID;

LCTYPE

Jenis informasi lokal. Untuk daftar, lihat Konstanta Informasi Lokal.

Jenis ini dideklarasikan dalam WinNls.h sebagai berikut:

typedef DWORD LCTYPE;

LGRPID

Pengidentifikasi grup bahasa. Untuk daftar, lihat EnumLanguageGroupLocales.

Jenis ini dideklarasikan dalam WinNls.h sebagai berikut:

typedef DWORD LGRPID;

LONG

Bilangan bulat bertanda tangan 32-bit. Rentangnya -2147483648 melalui desimal 2147483647.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef long LONG;

LONGLONG

Bilangan bulat bertanda tangan 64-bit. Rentangnya -9223372036854775808 melalui desimal 9223372036854775807.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

Jenis panjang yang ditandatangani untuk presisi pointer. Gunakan saat mentransmisikan pointer ke panjang untuk melakukan aritmatika pointer.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

Bilangan bulat bertanda tangan 32-bit. Rentangnya -2147483648 melalui desimal 2147483647.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed int LONG32;

LONG64

Bilangan bulat bertanda tangan 64-bit. Rentangnya -9223372036854775808 melalui desimal 9223372036854775807.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef __int64 LONG64;

LPARAM

Parameter pesan.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef LONG_PTR LPARAM;

LPBOOL

Pointer keBOOL .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef BOOL far *LPBOOL;

LPBYTE

Penunjuk keBYTE .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef BYTE far *LPBYTE;

LPCOLORREF

Penunjuk ke nilai COLORREF .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef DWORD *LPCOLORREF;

LPCSTR

Penunjuk ke string konstanta yang dihentikan null dari karakter Windows (ANSI) 8-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

LPCWSTR jika UNICODE didefinisikan, LPCSTR sebaliknya. Untuk informasi selengkapnya, lihat Jenis Data Windows untuk String.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

Penunjuk ke konstanta dari jenis apa pun.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef CONST void *LPCVOID;

LPCWSTR

Penunjuk ke string konstanta yang dihentikan null dari karakter Unicode 16-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

Pointer keDWORD .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef DWORD *LPDWORD;

LPHANDLE

Pointer keHANDLE .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE *LPHANDLE;

LPINT

Penunjuk keINT .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef int *LPINT;

LPLONG

Penunjuk keLONG .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef long *LPLONG;

LPSTR

Penunjuk ke string null-terminated dari karakter Windows (ANSI) 8-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef CHAR *LPSTR;

LPTSTR

LPWSTR jika UNICODE didefinisikan, LPSTR sebaliknya. Untuk informasi selengkapnya, lihat Jenis Data Windows untuk String.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

Penunjuk ke jenis apa pun.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef void *LPVOID;

LPWORD

Penunjuk keWORD .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef WORD *LPWORD;

LPWSTR

Penunjuk ke string null-terminated dari karakter Unicode 16-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef WCHAR *LPWSTR;

LRESULT

Hasil pemrosesan pesan yang ditandatangani.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef LONG_PTR LRESULT;

PBOOL

Pointer keBOOL .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef BOOL *PBOOL;

PBOOLEAN

Pointer keBOOLEAN .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Penunjuk keBYTE .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef BYTE *PBYTE;

PCHAR

Pointer keCHAR .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef CHAR *PCHAR;

PCSTR

Penunjuk ke string konstanta yang dihentikan null dari karakter Windows (ANSI) 8-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef CONST CHAR *PCSTR;

PCTSTR

PCWSTR jika UNICODE ditentukan, PCSTR sebaliknya. Untuk informasi selengkapnya, lihat Jenis Data Windows untuk String.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

Penunjuk ke string konstanta yang dihentikan null dari karakter Unicode 16-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef CONST WCHAR *PCWSTR;

PDWORD

Pointer keDWORD .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef DWORD *PDWORD;

PDWORDLONG

Pointer keDWORDLONG .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Penunjuk ke DWORD_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Pointer ke DWORD32.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef DWORD32 *PDWORD32;

PDWORD64

Penunjuk ke DWORD64.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef DWORD64 *PDWORD64;

PFLOAT

Pointer keFLOAT .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef FLOAT *PFLOAT;

PHALF_PTR

Penunjuk ke HALF_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

Pointer keHANDLE .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef HANDLE *PHANDLE;

PHKEY

Pointer keHKEY .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HKEY *PHKEY;

PINT

Penunjuk keINT .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef int *PINT;

PINT_PTR

Penunjuk ke INT_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT_PTR *PINT_PTR;

PINT8

Pointer keINT8 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT8 *PINT8;

PINT16

Penunjuk keINT16 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT16 *PINT16;

PINT32

Pointer keINT32 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT32 *PINT32;

PINT64

Penunjuk keINT64 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT64 *PINT64;

PLCID

Pointer keLCID .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef PDWORD PLCID;

PLONG

Penunjuk keLONG .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef LONG *PLONG;

PLONGLONG

Penunjuk keLONGLONG .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Penunjuk ke LONG_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef LONG_PTR *PLONG_PTR;

PLONG32

Penunjuk keLONG32 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef LONG32 *PLONG32;

PLONG64

Penunjuk keLONG64 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef LONG64 *PLONG64;

POINTER_32

Penunjuk 32-bit. Pada sistem 32-bit, ini adalah pointer asli. Pada sistem 64-bit, ini adalah pointer 64-bit terpotong.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

Penunjuk 64-bit. Pada sistem 64-bit, ini adalah pointer asli. Pada sistem 32-bit, ini adalah pointer 32-bit yang diperluas tanda tangan.

Perhatikan bahwa tidak aman untuk mengasumsikan status bit pointer tinggi.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

Penunjuk yang ditandatangani.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

Penunjuk yang tidak ditandatangani.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

#define POINTER_UNSIGNED __uptr

PSHORT

Pointer keSHORT .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef SHORT *PSHORT;

PSIZE_T

Pointer ke SIZE_T.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Pointer ke SSIZE_T.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef SSIZE_T *PSSIZE_T;

PSTR

Penunjuk ke string null-terminated dari karakter Windows (ANSI) 8-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef CHAR *PSTR;

PTBYTE

Penunjuk keTBYTE .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef TBYTE *PTBYTE;

PTCHAR

Pointer keTCHAR .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef TCHAR *PTCHAR;

PTSTR

PWSTR jika UNICODE ditentukan, PSTR sebaliknya. Untuk informasi selengkapnya, lihat Jenis Data Windows untuk String.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

Pointer keUCHAR .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Pointer ke UHALF_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

Penunjuk keUINT .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef UINT *PUINT;

PUINT_PTR

Pointer ke UINT_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT_PTR *PUINT_PTR;

PUINT8

Penunjuk keUINT8 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT8 *PUINT8;

PUINT16

Pointer keUINT16 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT16 *PUINT16;

PUINT32

Penunjuk keUINT32 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT32 *PUINT32;

PUINT64

Penunjuk keUINT64 .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT64 *PUINT64;

PULONG

Penunjuk keULONG .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef ULONG *PULONG;

PULONGLONG

Penunjuk keULONGLONG .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Pointer ke ULONG_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Pointer ke ULONG32.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef ULONG32 *PULONG32;

PULONG64

Penunjuk ke ULONG64.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef ULONG64 *PULONG64;

PUSHORT

Pointer keUSHORT .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef USHORT *PUSHORT;

PVOID

Penunjuk ke jenis apa pun.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef void *PVOID;

PWCHAR

Pointer keWCHAR .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef WCHAR *PWCHAR;

PWORD

Penunjuk keWORD .

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef WORD *PWORD;

PWSTR

Penunjuk ke string null-terminated dari karakter Unicode 16-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef WCHAR *PWSTR;

QWORD

Bilangan bulat yang tidak ditandatangani 64-bit.

Jenis ini dinyatakan sebagai berikut:

typedef unsigned __int64 QWORD;

SC_HANDLE

Handel ke database manajer kontrol layanan. Untuk informasi selengkapnya, lihat SCM Handles.

Jenis ini dideklarasikan dalam WinSvc.h sebagai berikut:

typedef HANDLE SC_HANDLE;

SC_LOCK

Kunci ke database manajer kontrol layanan. Untuk informasi selengkapnya, lihat SCM Handles.

Jenis ini dideklarasikan dalam WinSvc.h sebagai berikut:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Handel ke nilai status layanan. Untuk informasi selengkapnya, lihat SCM Handles.

Jenis ini dideklarasikan dalam WinSvc.h sebagai berikut:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

Bilangan bulat 16-bit. Rentangnya -32768 hingga 32767 desimal.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef short SHORT;

SIZE_T

Jumlah maksimum byte tempat penunjuk dapat menunjuk. Gunakan untuk hitungan yang harus mencakup rentang penuh penunjuk.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef ULONG_PTR SIZE_T;

SSIZE_T

Versi SIZE_Tyang ditandatangani .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef LONG_PTR SSIZE_T;

TBYTE

WCHAR jika UNICODE didefinisikan, CHAR sebaliknya.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

WCHAR jika UNICODE didefinisikan, CHAR sebaliknya.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

CHARyang tidak ditandatangani.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef unsigned char UCHAR;

UHALF_PTR

HALF_PTRyang tidak ditandatangani . Gunakan dalam struktur yang berisi pointer dan dua bidang kecil.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

INT yang tidak ditandatangani . Rentangnya adalah 0 hingga 4294967295 desimal.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef unsigned int UINT;

UINT_PTR

INT_PTRyang tidak ditandatangani .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

INT8 yang tidak ditandatangani.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef unsigned char UINT8;

UINT16

INT16 yang tidak ditandatangani.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef unsigned short UINT16;

UINT32

INT32yang tidak ditandatangani . Rentangnya adalah 0 hingga 4294967295 desimal.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef unsigned int UINT32;

UINT64

INT64 yang tidak ditandatangani. Rentangnya adalah 0 hingga 18446744073709551615 desimal.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef unsigned __int64 UINT64;

ULONG

LONG LONG yang tidak ditandatangani. Rentangnya adalah 0 hingga 4294967295 desimal.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef unsigned long ULONG;

ULONGLONG

Bilangan bulat yang tidak ditandatangani 64-bit. Rentangnya adalah 0 hingga 18446744073709551615 desimal.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

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

LONG_PTRyang tidak ditandatangani .

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

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

LONG32 yang tidak ditandatangani. Rentangnya adalah 0 hingga 4294967295 desimal.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef unsigned int ULONG32;

ULONG64

LONG64 yang tidak ditandatangani . Rentangnya adalah 0 hingga 18446744073709551615 desimal.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

String Unicode.

Jenis ini dinyatakan dalam Winternl.h sebagai berikut:

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

SHORT yang tidak ditandatangani. Rentangnya adalah 0 hingga 65535 desimal.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef unsigned short USHORT;

USN

Nomor urutan pembaruan (USN).

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef LONGLONG USN;

VOID

Jenis apa pun.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

#define VOID void

WCHAR

Karakter Unicode 16-bit. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef wchar_t WCHAR;

WINAPI

Konvensi panggilan untuk fungsi sistem.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

#define WINAPI __stdcall

CALLBACK, WINAPI, dan APIENTRY semuanya digunakan untuk menentukan fungsi dengan konvensi panggilan __stdcall. Sebagian besar fungsi di Windows API dinyatakan menggunakan WINAPI. Anda mungkin ingin menggunakan CALLBACK untuk fungsi panggilan balik yang Anda terapkan untuk membantu mengidentifikasi fungsi sebagai fungsi panggilan balik.

WORD

Bilangan bulat yang tidak ditandatangani 16-bit. Rentangnya adalah 0 hingga 65535 desimal.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef unsigned short WORD;

WPARAM

Parameter pesan.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef UINT_PTR WPARAM;

Persyaratan

Syarat Nilai
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Header
BaseTsd.h;
WinDef.h;
WinNT.h