浏览一些代码时,我发现了对OpenPrinter()的调用.代码编译并正常工作.但是,我们正在传递一个HANDLE而不是LPHANDLE(在MSDN中指定).我发现在windef.h以下声明中存在:
typedef HANDLE FAR *LPHANDLE;
Run Code Online (Sandbox Code Playgroud)
LP代表什么?我应该使用LPHANDLE,还是保留HANDLE?
LP代表Long Pointer.在这种情况下,它是指向句柄的指针.
HANDLE h = <winapi function>();
LPHANDLE ph = &h;
Run Code Online (Sandbox Code Playgroud)
您可以通过解除引用指针的方式使用它的方式:
HANDLE anotherh = *ph;
or
<winapi function>(*ph, ...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2335 次 |
| 最近记录: |