C++ 赢得API用户权限C++;
我正在尝试查看用户是否具有SeLoadDriver权限。我得到了普鲁德:C++ 赢得API用户权限C++;,c++,winapi,privileges,C++,Winapi,Privileges,我正在尝试查看用户是否具有SeLoadDriver权限。我得到了普鲁德: PLUID pld; LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, pld); 但现在我不知道如何从PLUID获得一个bool,说明用户是否拥有特权。我已经阅读了相关的方法,但它认为这可能是一种直接从PLUID值获取该值的简单方法 谢谢比这要复杂一点 首先,您需要获得流程令牌的特权集(通过调用GetTokenInformation()),然后扫描从该特权集
PLUID pld;
LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, pld);
但现在我不知道如何从PLUID获得一个bool,说明用户是否拥有特权。我已经阅读了相关的方法,但它认为这可能是一种直接从PLUID值获取该值的简单方法
谢谢比这要复杂一点 首先,您需要获得流程令牌的特权集(通过调用
GetTokenInformation()
),然后扫描从该特权集(是从LookupPrivilegeValue()
获取的LUID的LUID\u和\u属性结构数组)获得的缓冲区。然后,您可以使用找到的LUID\u和\u属性
,检查属性
是否包含所需的标志(SE\u PRIVILEGE\u ENABLED
)
请注意,在检查已启用的权限时,还应检查正在检查的属性中是否未设置SE\u privilege\u REMOVED
;同时删除了SE\u特权
和启用了SE\u特权
的特权已被删除且未启用