Windows數據類型

 WORD:16位無符號整形數據windows

 

DWORD:32字節無符號整型數據(DWORD32)數組

 

DWORD64:64字節無符號整型數據函數

 

INT:32位有符號整型數據類型指針

 

INT_PTR:指向INT數據類型的指針類型code

 

INT32:32位符號整型htm

 

INT64:64位符號整型對象

 

UINT:無符號INTblog

LONG:32位符號整型(LONG32)內存

 

ULONG:無符號LONG文檔

LONGLONG:64位符號整型(LONG64)

 

SHORT:無符號短整型(16位)

 

LPARAM:消息的L參數

WPARAM:消息的W參數(

typedef UINT WPARAM;
typedef LONG LPARAM;
WPARAM是無符號整形,LPARAM是long型。

 

HANDLE:對象的句柄,最基本的句柄類型

 

HICON:圖標的句柄

 

HINSTANCE:程序實例的句柄

 

HKEY:註冊表鍵的句柄

 

HMODULE:模塊的句柄

 

HWND:窗口的句柄

 

LPSTR:字符指針,也就是字符串變量

 LPSTR是MFC特有的數據類型,具體要根據編譯環境的上下文來區別。一般狀況下等同於char *,若是在編譯環境中定義了使用UNICODE則等同於wchar *。相似的還有LPCTSTR等同於const char *

LPCSTR:字符串常量

LPSTR和LPWSTR是 Win32VC++所使用的一種字符串數據類型。LPSTR被定義成是一個指向以NULL(‘\0’)結尾的32位ANSI 字符數組指針,而LPWSTR是一個指向以NULL結尾的64位雙 字節字符數組指針。CString與LPSTR轉換。
'L'表明Long,'P'表明Pointer( 指針),‘C’表示是常量 const'STR'表示String。

LPCTSTR:根據環境配置,若是定義了UNICODE宏,則是LPCWSTR類型,不然則爲LPCSTR類型

 

LPCWSTR:UNICODE字符串常量

 

LPDWORD:指向DWORD類型數據的指針

 

CHAR:8比特字節

 

TCHAR:若是定義了UNICODE,則爲WCHAR,不然爲CHAR

  

UCHAR:無符號CHAR

WCHAR:16位Unicode字符

 

BOOL:布爾型變量

 

BYTE:字節類型(8位)

 

CONST:常量 

FLOAT:浮點數據類型

 

SIZE_T:表示內存大小,以字節爲單位,其最大值是CPU最大尋址範圍

 

VOID:無類型,至關於標準C語言中的void

WINAPI:Windows API的函數調用方式,常見於SDK頭文件中對API函數的聲明中,至關於_stdcall

(更嚴格地說,這不是數據類型,而是一種函數調用約定這些只是常見的數據類型,Windows數據類型還不止上面列出的類型,還包括不少種,

主要有各類數據的指針、句柄、無符號類型等,能夠查看SDK文檔來了解Windows數據類型更多的細節。

 

下面再給出Windows數據類型命名的規律,好讓你們在遇到新的數據類型時,能夠基本推論出數據類型的意義。

 

基本數據類型包括:BYTE、CHAR、WORD、SHORT、INT等。

 指針類型的命令方式通常是在其指向的數據類型前加「LP」或「P」,好比指向DWORD的指針類型爲「LPDWORD」和「PDWORD」 

各類句柄類型的命名方式通常都是在對象名前加「H」,好比位圖(BITMAP)對應的句柄類型爲「HBITMAP」。

 

無符號類型通常是以「U」開頭,好比「INT」是符號類型,「UINT」是無符號類型

 

Windows數據類型與標準C數據類型的關係查看Windows數據類型的定義能夠看到,全部的windows

數據類型都是由C數據類型通過類型重定義獲得的。如DWORD實質上就是unsigned long數據類型,32位無符號整型。而常常要用到的

HANDLE類型實質上是無類型指針void,

HANDLE定義爲: typedof PVOID HANDLE;

HANDLE實際上就是一個PVOID,那PVOID就是什麼呢?

Typeof void *PVOID;

 

PVOID就是指向void的指針。

 

全部的Windows數據類型都是經過這種方式在SDK的頭文件中進行定義的,它們都是來源於標準

C的數據類型Windows數據類型與Windows API函數的參數、返回值或一些重要的常量使用的數據類型都是

Windows數據類型。

好比以常常要要到的MessageBox函數,以下:

int MessageBox(

HWND hWnd,

LPCTSTR lpText,

LPCTSTR lpCaption,

UINT uType

);

MessageBox函數的返回值是int型,是標準C數據類型,可是全部的參數都使用了Windows數據類型。好比

HWND

用於代表窗口的句柄

相關文章
相關標籤/搜索