Jenis 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 dari 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 pengkompilasi C. Sebagian besar nama jenis penunjuk dimulai dengan awalan P atau LP. Handel mengacu pada 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 dinyatakan 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 dinyatakan 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 dinyatakan 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 tidak bertanda 32-bit. Rentangnya adalah 0 hingga 4294967295 desimal.
Jenis ini dinyatakan dalam IntSafe.h sebagai berikut:
typedef unsigned long DWORD;
DWORDLONG Bilangan bulat tidak bertanda 16-bit. Rentangnya adalah 0 hingga 18446744073709551615 desimal.
Jenis ini dinyatakan dalam IntSafe.h sebagai berikut:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Jenis panjang yang tidak ditandatangani untuk presisi penunjuk. Gunakan saat mentransmisikan penunjuk ke jenis panjang untuk melakukan aritmatika penunjuk. (Juga umumnya digunakan untuk parameter umum 32-bit yang telah diperluas ke 64 bit di Windows 64-bit.)
Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:
typedef ULONG_PTR DWORD_PTR;
DWORD32 Bilangan bulat tidak bertanda 32-bit.
Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:
typedef unsigned int DWORD32;
DWORD64 Bilangan bulat tidak bertanda 16-bit.
Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:
typedef unsigned __int64 DWORD64;
FLOAT Variabel titik mengambang.
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
MENANGANI

Handel ke objek.

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef PVOID HANDLE;

HBITMAP

Handel ke bitmap.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HBITMAP;

HBRUSH

Pegangan 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 ke desktop.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HDESK;

HDROP

Handel ke struktur penurunan internal.

Jenis ini dinyatakan 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 yang 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

Pegangan ke kait.

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

Pegangan ke palet.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE HPALETTE;

HPEN

Pegangan 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 makro GAGAL dan BERHASIL .

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef LONG HRESULT;

HRGN

Handel ke suatu 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

Pegangan 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 32-bit. Rentangnya adalah -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 8-bit.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed char INT8;

INT16

Bilangan bulat bertanda 16-bit.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed short INT16;

INT32

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

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed int INT32;

INT64

Bilangan bulat bertanda 64-bit. Rentangnya adalah -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;

LAMA

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

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef long LONG;

LONGLONG

Bilangan bulat bertanda 64-bit. Rentangnya adalah -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 32-bit. Rentangnya adalah -2147483648 melalui desimal 2147483647.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef signed int LONG32;

LONG64

Bilangan bulat bertanda 64-bit. Rentangnya adalah -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

Penunjuk ke BOOL.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef BOOL far *LPBOOL;

LPBYTE

Penunjuk ke BYTE.

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

Penunjuk ke DWORD.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef DWORD *LPDWORD;

LPHANDLE

Penunjuk ke HANDLE.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HANDLE *LPHANDLE;

LPINT

Penunjuk ke INT.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef int *LPINT;

LPLONG

Penunjuk ke LONG.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef long *LPLONG;

LPSTR

Penunjuk ke string null-dihentikan 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 ke WORD.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef WORD *LPWORD;

LPWSTR

Penunjuk ke string null-dihentikan 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

Penunjuk ke BOOL.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef BOOL *PBOOL;

PBOOLEAN

Penunjuk ke BOOLEAN.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Penunjuk ke BYTE.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef BYTE *PBYTE;

PCHAR

Penunjuk ke CHAR.

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 didefinisikan, 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

Penunjuk ke DWORD.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef DWORD *PDWORD;

PDWORDLONG

Penunjuk ke DWORDLONG.

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

Penunjuk 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

Penunjuk ke FLOAT.

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

Penunjuk ke HANDLE.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef HANDLE *PHANDLE;

PHKEY

Penunjuk ke HKEY.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef HKEY *PHKEY;

PINT

Penunjuk ke INT.

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

Penunjuk ke INT8.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT8 *PINT8;

PINT16

Penunjuk ke INT16.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT16 *PINT16;

PINT32

Penunjuk ke INT32.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT32 *PINT32;

PINT64

Penunjuk ke INT64.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef INT64 *PINT64;

PLCID

Penunjuk ke LCID.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef PDWORD PLCID;

PLONG

Penunjuk ke LONG.

Jenis ini dideklarasikan dalam WinNT.h sebagai berikut:

typedef LONG *PLONG;

PLONGLONG

Penunjuk ke LONGLONG.

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 ke LONG32.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef LONG32 *PLONG32;

PLONG64

Penunjuk ke LONG64.

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 penunjuk 64-bit terpotok.

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 penunjuk asli. Pada sistem 32-bit, ini adalah penunjuk 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

Penunjuk ke SHORT.

Jenis ini dinyatakan 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 karakter Windows (ANSI) 8-bit yang dihentikan null. Untuk informasi selengkapnya, lihat Kumpulan Karakter yang Digunakan Oleh Font.

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef CHAR *PSTR;

PTBYTE

Penunjuk ke TBYTE.

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef TBYTE *PTBYTE;

PTCHAR

Penunjuk ke TCHAR.

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef TCHAR *PTCHAR;

PTSTR

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

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

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

Pointer ke UCHAR.

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 ke UINT.

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 ke UINT8.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT8 *PUINT8;

PUINT16

Penunjuk ke UINT16.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT16 *PUINT16;

PUINT32

Penunjuk ke UINT32.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT32 *PUINT32;

PUINT64

Pointer ke UINT64.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef UINT64 *PUINT64;

PULONG

Penunjuk ke ULONG.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef ULONG *PULONG;

PULONGLONG

Penunjuk ke ULONGLONG.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Penunjuk ke ULONG_PTR.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Penunjuk 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

Penunjuk ke USHORT.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef USHORT *PUSHORT;

PVOID

Penunjuk ke jenis apa pun.

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef void *PVOID;

PWCHAR

Penunjuk ke WCHAR.

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef WCHAR *PWCHAR;

PWORD

Penunjuk ke WORD.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef WORD *PWORD;

PWSTR

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

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef WCHAR *PWSTR;

QWORD

Bilangan bulat tidak bertanda 16-bit.

Jenis ini dinyatakan sebagai berikut:

typedef unsigned __int64 QWORD;

SC_HANDLE

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

Jenis ini dinyatakan dalam WinSvc.h sebagai berikut:

typedef HANDLE SC_HANDLE;

SC_LOCK

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

Jenis ini dinyatakan dalam WinSvc.h sebagai berikut:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

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

Jenis ini dinyatakan dalam WinSvc.h sebagai berikut:

typedef HANDLE SERVICE_STATUS_HANDLE;

PENDEK

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

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

typedef short SHORT;

SIZE_T

Jumlah maksimum byte tempat pointer 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_T yang ditandatangani.

Jenis ini dideklarasikan dalam BaseTsd.h sebagai berikut:

typedef LONG_PTR SSIZE_T;

TBYTE

WCHAR jika UNICODE didefinisikan, CHAR sebaliknya.

Jenis ini dinyatakan 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 dinyatakan dalam WinNT.h sebagai berikut:

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

CHAR yang tidak ditandatangani.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef unsigned char UCHAR;

UHALF_PTR

HALF_PTR yang 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_PTR yang 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

INT32 yang 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 yang tidak ditandatangani. Rentangnya adalah 0 hingga 4294967295 desimal.

Jenis ini dideklarasikan dalam WinDef.h sebagai berikut:

typedef unsigned long ULONG;

ULONGLONG

Bilangan bulat tidak bertanda 16-bit. Rentangnya adalah 0 hingga 18446744073709551615 desimal.

Jenis ini dinyatakan dalam WinNT.h sebagai berikut:

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

LONG_PTR yang 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 dinyatakan dalam WinNT.h sebagai berikut:

typedef LONGLONG USN;

KEKOSONGAN

Jenis apa pun.

Jenis ini dinyatakan 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 dinyatakan 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.

KATA

Bilangan bulat tidak bertanda 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

Persyaratan 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