Dav*_*eng 10 winapi preprocessor visual-c++
这是WinNT.h
(BUILD版本:0091)的第519行
#define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name
Run Code Online (Sandbox Code Playgroud)
为什么我们需要一个指向结构的指针,该结构具有一个名为unused
?的单个int成员?
我们是否需要使用像这样的一行代码?
HINSTANCE hInstance = new HINSTANCE__;
Run Code Online (Sandbox Code Playgroud)
整体声明具有相同结构的不同数据类型对我来说没有意义.这背后有什么想法?
DECLARE_HANDLE(HRGN);
DECLARE_HANDLE(HRSRC);
DECLARE_HANDLE(HSPRITE);
DECLARE_HANDLE(HLSURF);
DECLARE_HANDLE(HSTR);
DECLARE_HANDLE(HTASK);
DECLARE_HANDLE(HWINSTA);
DECLARE_HANDLE(HKL);
Run Code Online (Sandbox Code Playgroud)
我们是否需要使用这样的一行代码?
HINSTANCE hInstance = 新 HINSTANCE__;
通常使用HINSTANCE
Windows 系统调用返回的值;我从未见过代码执行这样的一行。