FwpmEngineGetSecurityInfo0 函数 (fwpmu.h)
FwpmEngineGetSecurityInfo0 函数检索筛选器引擎的安全描述符的副本。
语法
DWORD FwpmEngineGetSecurityInfo0(
[in] HANDLE engineHandle,
[in] SECURITY_INFORMATION securityInfo,
[out, optional] PSID *sidOwner,
[out, optional] PSID *sidGroup,
[out, optional] PACL *dacl,
[out, optional] PACL *sacl,
[out] PSECURITY_DESCRIPTOR *securityDescriptor
);
参数
[in] engineHandle
类型: 句柄
筛选器引擎的打开会话的句柄。 调用 FwpmEngineOpen0 以打开与筛选器引擎的会话。
[in] securityInfo
要检索的安全信息的类型。
[out, optional] sidOwner
类型: PSID*
所有者安全标识符 (返回的安全描述符中的 SID) 。
[out, optional] sidGroup
类型: PSID*
主组安全标识符 (返回的安全描述符中的 SID) 。
[out, optional] dacl
类型: PACL*
自由访问控制列表 (返回的安全描述符中的 DACL) 。
[out, optional] sacl
类型: PACL*
系统访问控制列表 (返回的安全描述符中的 SACL) 。
[out] securityDescriptor
类型: PSECURITY_DESCRIPTOR*
返回的安全描述符。
返回值
类型:DWORD
返回代码/值 | 说明 |
---|---|
|
已成功检索安全描述符。 |
|
Windows 筛选平台 (WFP) 特定错误。 有关详细信息 ,请参阅 WFP 错误代码 。 |
|
无法与远程或本地防火墙引擎通信。 |
备注
必须通过调用 FwpmFreeMemory0 释放返回的 securityDescriptor 参数。 其他四个 (可选) 返回的参数不能释放,因为它们指向 securityDescriptor 参数中的地址。
此函数的行为类似于标准 Win32 GetSecurityInfo 函数。 调用方需要与 GetSecurityInfo 参考主题中所述相同的标准访问权限。
FwpmEngineGetSecurityInfo0 是 FwpmEngineGetSecurityInfo 的特定实现。 有关详细信息 ,请参阅 WFP Version-Independent 名称和面向 Windows 的特定版本 。
示例
以下 C++ 示例演示了使用 FwpmEngineGetSecurityInfo0 初始化安全描述符对象。
#include <windows.h>
#include <fwpmu.h>
#include <stdio.h>
#pragma comment(lib, "Fwpuclnt.lib")
void main()
{
HANDLE engineHandle = NULL;
DWORD result = ERROR_SUCCESS;
PSECURITY_DESCRIPTOR securityDescriptor;
SECURITY_INFORMATION securityInfo = OWNER_SECURITY_INFORMATION;
// Several functions that use the SECURITY_DESCRIPTOR structure require that this
// structure be aligned on a valid pointer boundary in memory. These boundaries
// vary depending on the type of processor used.
securityDescriptor = (PSECURITY_DESCRIPTOR) malloc(sizeof(SECURITY_DESCRIPTOR));
result = FwpmEngineOpen0( NULL, RPC_C_AUTHN_WINNT, NULL, NULL, &engineHandle );
if (result != ERROR_SUCCESS)
{
printf("FwpmEngineOpen0 failed.\n");
return;
}
result = FwpmEngineGetSecurityInfo0(
engineHandle,
securityInfo,
NULL,
NULL,
NULL,
NULL,
&securityDescriptor);
if (result != ERROR_SUCCESS)
{
printf("FwpmEngineGetSecurityInfo0 failed.\n");
return;
}
return;
}
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | fwpmu.h |
Library | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |