共用方式為


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

類型: HANDLE

篩選引擎開啟會話的控制碼。 呼叫 FwpmEngineOpen0 以開啟篩選引擎的會話。

[in] securityInfo

類型: SECURITY_INFORMATION

要擷取的安全性資訊類型。

[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

傳回碼/值 描述
ERROR_SUCCESS
0
已成功擷取安全性描述項。
FWP_E_* 錯誤碼
0x80320001— 0x80320039
Windows 篩選平台 () 特定錯誤。 如需詳細資料,請參閱 一併參閱其錯誤碼
RPC_* 錯誤碼
0x80010001— 0x80010122
無法與遠端或本機防火牆引擎通訊。

備註

傳回 的 securityDescriptor 參數必須透過 呼叫 FwpmFreeMemory0釋放。 其他四個 (選擇性) 傳回的參數不得釋放,因為它們指向 securityDescriptor 參數內的位址。

此函式的行為就像標準 Win32 GetSecurityInfo 函式一樣。 呼叫端需要與 GetSecurityInfo 參考主題中所述相同的標準存取權限。

FwpmEngineGetSecurityInfo0 是 FwpmEngineGetSecurityInfo 的特定實作。 如需詳細資訊 ,請參閱 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
程式庫 Fwpuclnt.lib
Dll Fwpuclnt.dll

另請參閱

FwpmEngineSetSecurityInfo0