BOOL (WINAPI *ZTSQueryUserToken)(ULONG SessionId, PHANDLE phToken) = NULL;
为什么用WINAPI这个C++语法是什么意思?
对我来说,它看起来像一个结构或东西正在创建一个变量,但我从来没有见过这种类型的语法,这样能有人打破它给我吗?
BOOL (WINAPI *ZTSQueryUserToken)(ULONG SessionId, PHANDLE phToken) = NULL;
为什么用WINAPI这个C++语法是什么意思?
对我来说,它看起来像一个结构或东西正在创建一个变量,但我从来没有见过这种类型的语法,这样能有人打破它给我吗?
WINAPI约定通常用于调用Win32 API函数。 WINAPI简直是__stdcall
#define WINAPI __stdcall
的__stdcall
调用约定在一般以下特点:由右至左
所以留下__stdcall
,使用"Spiral Rule"获得
+----------------------+
| +----------------+ |
| | | |
| ^ | |
BOOL (WINAPI* ZTSQueryUserToken ) (ULONG SessionId, PHANDLE phToken)
^ ^ | |
| +--------------------+ |
+---------------------------------+
因此,标识符:
ZTSQueryUserToken
是__stdcall
)函数具有类型参数ULONG
和PHANDLE
BOOL
而你的情况下,指针被分配到NULL
。
这是一个函数指针与调用约定。查看螺旋规则。 – chris
那么你可以使用这个函数指针与任何具有这两个参数的函数?我没有看到WINAPI部分与此有关。 –
这是调用约定__stdcall。 –