在浏览一些代码时,我发现了一个对 OpenPrinter() 的调用。代码编译并运行良好。但是,我们传递的是 HANDLE
而不是 LPHANDLE
(在 MSDN 中指定)。我发现在 windef.h
中存在以下声明:
typedef HANDLE FAR *LPHANDLE;
LP代表什么?我应该使用
LPHANDLE
还是保留 HANDLE
? 最佳答案
LP 代表长指针。在这种情况下,它是指向句柄的指针。
HANDLE h = <winapi function>();
LPHANDLE ph = &h;
您可以通过取消引用指针来像处理句柄一样使用它:
HANDLE anotherh = *ph;
or
<winapi function>(*ph, ...);
关于winapi - LPHANDLE 与 HANDL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/391649/