다음을 통해 공유


Windows 데이터 형식

Windows에서 지원하는 데이터 형식은 함수 반환 값, 함수 및 메시지 매개 변수 및 구조체 멤버를 정의하는 데 사용됩니다. 이러한 요소의 크기와 의미를 정의합니다. 기본 C/C++ 데이터 형식에 대한 자세한 내용은 데이터 형식 범위참조하세요.

다음 표에는 문자, 정수, 부울, 포인터 및 핸들 형식이 포함되어 있습니다. 문자, 정수 및 부울 형식은 대부분의 C 컴파일러에서 일반적입니다. 대부분의 포인터 형식 이름은 P 또는 LP 접두사로 시작합니다. 핸들은 메모리에 로드된 리소스를 나타냅니다.

64비트 정수 처리에 대한 자세한 내용은 큰 정수참조하세요.

데이터 형식 묘사
APIENTRY 시스템 함수에 대한 호출 규칙입니다.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
#define APIENTRY WINAPI
ATOM 원자입니다. 자세한 내용은 Atom 테이블 정보참조하세요.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
typedef WORD ATOM;
BOOL 부울 변수(TRUE 또는 FALSE)입니다.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
typedef int BOOL;
BOOLEAN 부울 변수(TRUE 또는 FALSE)입니다.
이 형식은 다음과 같이 WinNT.h에서 선언됩니다.
typedef BYTE BOOLEAN;
BYTE 바이트(8비트)입니다.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
typedef unsigned char BYTE;
CALLBACK 콜백 함수에 대한 호출 규칙입니다.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
#define CALLBACK __stdcall
콜백, WINAPIAPIIENTRY 모두 __stdcall 호출 규칙을 사용하여 함수를 정의하는 데 사용됩니다. Windows API의 대부분의 함수는 WINAPI사용하여 선언됩니다. 콜백 함수로 함수를 식별하는 데 도움이 되도록 구현하는 콜백 함수에 콜백 사용할 수 있습니다.
CCHAR ANSI(8비트 Windows) 문자입니다.
이 형식은 다음과 같이 WinNT.h에서 선언됩니다.
typedef char CCHAR;
CHAR ANSI(8비트 Windows) 문자입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.
이 형식은 다음과 같이 WinNT.h에서 선언됩니다.
typedef char CHAR;
COLORREF 빨강, 녹색, 파랑(RGB) 색 값(32비트)입니다. 이 형식에 대한 자세한 내용은 COLORREF 참조하세요.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
typedef DWORD COLORREF;
CONST 실행 중에 값이 일정하게 유지되는 변수입니다.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
#define CONST const
DWORD 부호 없는 32비트 정수입니다. 범위는 0부터 4294967295 소수입니다.
이 형식은 다음과 같이 IntSafe.h에서 선언됩니다.
typedef unsigned long DWORD;
DWORDLONG 부호 없는 64비트 정수입니다. 범위는 0부터 18446744073709551615 소수입니다.
이 형식은 다음과 같이 IntSafe.h에서 선언됩니다.
typedef unsigned __int64 DWORDLONG;
DWORD_PTR 포인터 정밀도에 대한 부호 없는 긴 형식입니다. 포인터를 긴 형식으로 캐스팅하여 포인터 산술 연산을 수행할 때 사용합니다. 64비트 Windows에서 64비트로 확장된 일반 32비트 매개 변수에도 일반적으로 사용됩니다.
이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.
typedef ULONG_PTR DWORD_PTR;
DWORD32 부호 없는 32비트 정수입니다.
이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.
typedef unsigned int DWORD32;
DWORD64 부호 없는 64비트 정수입니다.
이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.
typedef unsigned __int64 DWORD64;
FLOAT 부동 소수점 변수입니다.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
typedef float FLOAT;
HACCEL 가속기 테이블에 대한 핸들은.
이 형식은 다음과 같이 WinDef.h에서 선언됩니다.
typedef HANDLE HACCEL;
HALF_PTR 포인터 크기의 절반입니다. 포인터와 두 개의 작은 필드가 포함된 구조체 내에서 사용합니다.
이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
HANDLE

개체에 대한 핸들입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef PVOID HANDLE;

HBITMAP

비트맵대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HBITMAP;

HBRUSH

브러시대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HBRUSH;

HCOLORSPACE

색 공간대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HCOLORSPACE;

HCONV

DDE(동적 데이터 교환) 대화에 대한 핸들입니다.

이 형식은 다음과 같이 Ddeml.h에서 선언됩니다.

typedef HANDLE HCONV;

HCONVLIST

DDE 대화 목록에 대한 핸들입니다.

이 형식은 다음과 같이 Ddeml.h에서 선언됩니다.

typedef HANDLE HCONVLIST;

HCURSOR

커서대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HICON HCURSOR;

HDC

dc(디바이스 컨텍스트)에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HDC;

HDDEDATA

DDE 데이터에 대한 핸들입니다.

이 형식은 다음과 같이 Ddeml.h에서 선언됩니다.

typedef HANDLE HDDEDATA;

HDESK

데스크톱대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HDESK;

HDROP

내부 놓기 구조에 대한 핸들입니다.

이 형식은 다음과 같이 ShellApi.h에서 선언됩니다.

typedef HANDLE HDROP;

HDWP

지연된 창 위치 구조에 대한 핸들입니다.

이 형식은 다음과 같이 WinUser.h에서 선언됩니다.

typedef HANDLE HDWP;

HENHMETAFILE

향상된 메타파일대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HENHMETAFILE;

HFILE

CreateFile아니라 OpenFile열린 파일에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef int HFILE;

HFONT

글꼴대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HFONT;

HGDIOBJ

GDI 개체에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HGDIOBJ;

HGLOBAL

전역 메모리 블록에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HGLOBAL;

HHOOK

후크대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HHOOK;

HICON

아이콘대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HICON;

HINSTANCE

인스턴스에 대한 핸들입니다. 메모리에 있는 모듈의 기본 주소입니다.

HMODULEHINSTANCE 동일하지만 16비트 Windows에서는 다른 항목을 나타냅니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HINSTANCE;

HKEY

레지스트리 키에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HKEY;

HKL

입력 로캘 식별자입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HKL;

HLOCAL

로컬 메모리 블록에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HLOCAL;

HMENU

메뉴대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HMENU;

HMETAFILE

메타파일대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HMETAFILE;

HMODULE

모듈에 대한 핸들입니다. 메모리에 있는 모듈의 기본 주소입니다.

HMODULEHINSTANCE 현재 버전의 Windows에서는 동일하지만 16비트 Windows에서는 다른 항목을 나타냅니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HINSTANCE HMODULE;

HMONITOR

디스플레이 모니터에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

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

HPALETTE

색상표에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HPALETTE;

HPEN

대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HPEN;

HRESULT

COM 인터페이스에서 사용하는 반환 코드입니다. 자세한 내용은 COM 오류 코드구조를 참조하세요. HRESULT 값을 테스트하려면 FAILED 사용하고 succeeded 매크로를 .

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef LONG HRESULT;

HRGN

영역에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HRGN;

HRSRC

리소스에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HRSRC;

HSZ

DDE 문자열에 대한 핸들입니다.

이 형식은 다음과 같이 Ddeml.h에서 선언됩니다.

typedef HANDLE HSZ;

HWINSTA

창 스테이션에 대한 핸들입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE WINSTA;

HWND

창에 대한 핸들이.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE HWND;

INT

부가된 32비트 정수입니다. 범위는 2147483647 소수점까지 -2147483648.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef int INT;

INT_PTR

포인터 정밀도에 대한 부가된 정수 형식입니다. 포인터를 정수로 캐스팅하여 포인터 산술 연산을 수행할 때 사용합니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

부가된 8비트 정수입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef signed char INT8;

INT16

부가된 16비트 정수입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef signed short INT16;

INT32

부가된 32비트 정수입니다. 범위는 2147483647 소수점까지 -2147483648.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef signed int INT32;

INT64

부가된 64비트 정수입니다. 범위는 9223372036854775807 소수점까지 -9223372036854775808.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef signed __int64 INT64;

LANGID

언어 식별자입니다. 자세한 내용은 언어 식별자참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef WORD LANGID;

LCID

로캘 식별자입니다. 자세한 내용은 로캘 식별자참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef DWORD LCID;

LCTYPE

로캘 정보 유형입니다. 목록은 로캘 정보 상수참조하세요.

이 형식은 다음과 같이 WinNls.h에서 선언됩니다.

typedef DWORD LCTYPE;

LGRPID

언어 그룹 식별자입니다. 목록은 EnumLanguageGroupLocales참조하세요.

이 형식은 다음과 같이 WinNls.h에서 선언됩니다.

typedef DWORD LGRPID;

LONG

부가된 32비트 정수입니다. 범위는 2147483647 소수점까지 -2147483648.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef long LONG;

LONGLONG

부가된 64비트 정수입니다. 범위는 9223372036854775807 소수점까지 -9223372036854775808.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

포인터 정밀도에 대한 서명된 긴 형식입니다. 포인터를 긴 포인터로 캐스팅하여 포인터 산술 연산을 수행할 때 사용합니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

부가된 32비트 정수입니다. 범위는 2147483647 소수점까지 -2147483648.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef signed int LONG32;

LONG64

부가된 64비트 정수입니다. 범위는 9223372036854775807 소수점까지 -9223372036854775808.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef __int64 LONG64;

LPARAM

메시지 매개 변수입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef LONG_PTR LPARAM;

LPBOOL

BOOL대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef BOOL far *LPBOOL;

LPBYTE

BYTE대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef BYTE far *LPBYTE;

LPCOLORREF

COLORREF 값에 대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef DWORD *LPCOLORREF;

LPCSTR

ANSI(8비트 Windows) 문자의 null로 끝나는 상수 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

유니코드 정의된 경우 LPCWSTRLPCSTR이. 자세한 내용은 문자열대한 Windows 데이터 형식 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

모든 형식의 상수에 대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef CONST void *LPCVOID;

LPCWSTR

16비트 유니코드 문자의 null로 끝나는 상수 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef CONST WCHAR *LPCWSTR;

LPDWORD

DWORD대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef DWORD *LPDWORD;

LPHANDLE

HANDLE대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HANDLE *LPHANDLE;

LPINT

INT대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef int *LPINT;

LPLONG

LONG대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef long *LPLONG;

LPSTR

ANSI(8비트 Windows) 문자의 null로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef CHAR *LPSTR;

LPTSTR

유니코드 정의된 경우 LPWSTRLPSTR이. 자세한 내용은 문자열대한 Windows 데이터 형식 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

모든 형식에 대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef void *LPVOID;

LPWORD

WORD대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef WORD *LPWORD;

LPWSTR

16비트 유니코드 문자의 null로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef WCHAR *LPWSTR;

LRESULT

메시지 처리의 서명된 결과입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef LONG_PTR LRESULT;

PBOOL

BOOL대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef BOOL *PBOOL;

PBOOLEAN

부울대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef BOOLEAN *PBOOLEAN;

PBYTE

BYTE대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef BYTE *PBYTE;

PCHAR

CHAR대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef CHAR *PCHAR;

PCSTR

ANSI(8비트 Windows) 문자의 null로 끝나는 상수 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef CONST CHAR *PCSTR;

PCTSTR

유니코드 정의된 경우 PCWSTRPCSTR이. 자세한 내용은 문자열대한 Windows 데이터 형식 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

16비트 유니코드 문자의 null로 끝나는 상수 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef CONST WCHAR *PCWSTR;

PDWORD

DWORD대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef DWORD *PDWORD;

PDWORDLONG

DWORDLONG대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

DWORD_PTR대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

DWORD32대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef DWORD32 *PDWORD32;

PDWORD64

DWORD64대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef DWORD64 *PDWORD64;

PFLOAT

FLOAT대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef FLOAT *PFLOAT;

PHALF_PTR

HALF_PTR대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

HANDLE대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef HANDLE *PHANDLE;

PHKEY

HKEY대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef HKEY *PHKEY;

PINT

INT대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef int *PINT;

PINT_PTR

INT_PTR대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef INT_PTR *PINT_PTR;

PINT8

INT8대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef INT8 *PINT8;

PINT16

INT16대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef INT16 *PINT16;

PINT32

INT32대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef INT32 *PINT32;

PINT64

INT64대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef INT64 *PINT64;

PLCID

LCID대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef PDWORD PLCID;

PLONG

LONG대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef LONG *PLONG;

PLONGLONG

LONGLONG대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef LONGLONG *PLONGLONG;

PLONG_PTR

LONG_PTR대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef LONG_PTR *PLONG_PTR;

PLONG32

LONG32대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef LONG32 *PLONG32;

PLONG64

LONG64대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef LONG64 *PLONG64;

POINTER_32

32비트 포인터입니다. 32비트 시스템에서는 네이티브 포인터입니다. 64비트 시스템에서는 잘린 64비트 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

64비트 포인터입니다. 64비트 시스템에서는 네이티브 포인터입니다. 32비트 시스템에서는 기호 확장 32비트 포인터입니다.

높은 포인터 비트의 상태를 가정하는 것은 안전하지 않습니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

서명된 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

서명되지 않은 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

#define POINTER_UNSIGNED __uptr

PSHORT

SHORT대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef SHORT *PSHORT;

PSIZE_T

SIZE_T대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef SIZE_T *PSIZE_T;

PSSIZE_T

SSIZE_T대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef SSIZE_T *PSSIZE_T;

PSTR

ANSI(8비트 Windows) 문자의 null로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef CHAR *PSTR;

PTBYTE

TBYTE대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef TBYTE *PTBYTE;

PTCHAR

TCHAR대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef TCHAR *PTCHAR;

PTSTR

PWSTR은 유니코드 정의된 경우 PSTR이. 자세한 내용은 문자열대한 Windows 데이터 형식 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

UCHAR대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef UCHAR *PUCHAR;

PUHALF_PTR

UHALF_PTR대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

UINT대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef UINT *PUINT;

PUINT_PTR

UINT_PTR대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef UINT_PTR *PUINT_PTR;

PUINT8

UINT8대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef UINT8 *PUINT8;

PUINT16

UINT16대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef UINT16 *PUINT16;

PUINT32

UINT32대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef UINT32 *PUINT32;

PUINT64

UINT64대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef UINT64 *PUINT64;

PULONG

ULONG대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef ULONG *PULONG;

PULONGLONG

ULONGLONG대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

ULONG_PTR대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef ULONG_PTR *PULONG_PTR;

PULONG32

ULONG32대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef ULONG32 *PULONG32;

PULONG64

ULONG64대한 포인터입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef ULONG64 *PULONG64;

PUSHORT

USHORT대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef USHORT *PUSHORT;

PVOID

모든 형식에 대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef void *PVOID;

PWCHAR

WCHAR대한 포인터입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef WCHAR *PWCHAR;

PWORD

WORD대한 포인터입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef WORD *PWORD;

PWSTR

16비트 유니코드 문자의 null로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef WCHAR *PWSTR;

QWORD

부호 없는 64비트 정수입니다.

이 형식은 다음과 같이 선언됩니다.

typedef unsigned __int64 QWORD;

SC_HANDLE

서비스 제어 관리자 데이터베이스에 대한 핸들입니다. 자세한 내용은 SCM 핸들참조하세요.

이 형식은 다음과 같이 WinSvc.h에서 선언됩니다.

typedef HANDLE SC_HANDLE;

SC_LOCK

서비스 제어 관리자 데이터베이스에 대한 잠금입니다. 자세한 내용은 SCM 핸들참조하세요.

이 형식은 다음과 같이 WinSvc.h에서 선언됩니다.

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

서비스 상태 값에 대한 핸들입니다. 자세한 내용은 SCM 핸들참조하세요.

이 형식은 다음과 같이 WinSvc.h에서 선언됩니다.

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

16비트 정수입니다. 범위는 32767 10진수까지 -32768.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef short SHORT;

SIZE_T

포인터가 가리킬 수 있는 최대 바이트 수입니다. 포인터의 전체 범위에 걸쳐 있어야 하는 개수에 사용합니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef ULONG_PTR SIZE_T;

SSIZE_T

서명된 버전의 SIZE_T.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef LONG_PTR SSIZE_T;

TBYTE

유니코드 정의된 경우 WCHARCHAR가.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

유니코드 정의된 경우 WCHARCHAR가.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

서명되지 않은 CHAR.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef unsigned char UCHAR;

UHALF_PTR

서명되지 않은 HALF_PTR. 포인터와 두 개의 작은 필드가 포함된 구조체 내에서 사용합니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

서명되지 않은 INT. 범위는 0부터 4294967295 소수입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef unsigned int UINT;

UINT_PTR

서명되지 않은 INT_PTR.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

서명되지 않은 INT8.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef unsigned char UINT8;

UINT16

서명되지 않은 INT16.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef unsigned short UINT16;

UINT32

서명되지 않은 INT32. 범위는 0부터 4294967295 소수입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef unsigned int UINT32;

UINT64

서명되지 않은 INT64. 범위는 0부터 18446744073709551615 소수입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef unsigned __int64 UINT64;

ULONG

서명되지 않은 LONG. 범위는 0부터 4294967295 소수입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef unsigned long ULONG;

ULONGLONG

부호 없는 64비트 정수입니다. 범위는 0부터 18446744073709551615 소수입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

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

서명되지 않은 LONG_PTR.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

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

서명되지 않은 LONG32. 범위는 0부터 4294967295 소수입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef unsigned int ULONG32;

ULONG64

서명되지 않은 LONG64. 범위는 0부터 18446744073709551615 소수입니다.

이 형식은 다음과 같이 BaseTsd.h에 선언됩니다.

typedef unsigned __int64 ULONG64;

UNICODE_STRING

유니코드 문자열입니다.

이 형식은 다음과 같이 Winternl.h에서 선언됩니다.

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. 범위는 0에서 65535 소수입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef unsigned short USHORT;

USN

업데이트 시퀀스 번호(USN)입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef LONGLONG USN;

VOID

모든 형식입니다.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

#define VOID void

WCHAR

16비트 유니코드 문자입니다. 자세한 내용은 글꼴사용되는 문자 집합을 참조하세요.

이 형식은 다음과 같이 WinNT.h에서 선언됩니다.

typedef wchar_t WCHAR;

WINAPI

시스템 함수에 대한 호출 규칙입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

#define WINAPI __stdcall

콜백, WINAPIAPIIENTRY 모두 __stdcall 호출 규칙을 사용하여 함수를 정의하는 데 사용됩니다. Windows API의 대부분의 함수는 WINAPI사용하여 선언됩니다. 콜백 함수로 함수를 식별하는 데 도움이 되도록 구현하는 콜백 함수에 콜백 사용할 수 있습니다.

WORD

부호 없는 16비트 정수입니다. 범위는 0에서 65535 소수입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef unsigned short WORD;

WPARAM

메시지 매개 변수입니다.

이 형식은 다음과 같이 WinDef.h에서 선언됩니다.

typedef UINT_PTR WPARAM;

요구 사항

요구
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
머리글
BaseTsd.h;
WinDef.h;
WinNT.h