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
取得するセキュリティ情報の種類。
[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
リターン コード/値 | Description |
---|---|
|
セキュリティ記述子が正常に取得されました。 |
|
Windows フィルタリング プラットフォーム (WFP) 固有のエラー。 詳細については、「 WFP エラー コード 」を参照してください。 |
|
リモートまたはローカルのファイアウォール エンジンとの通信に失敗しました。 |
解説
返される securityDescriptor パラメーターは 、FwpmFreeMemory0 の呼び出しを通じて解放する必要があります。 他の 4 つの (省略可能) 返されるパラメーターは、 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 |