FwpmEngineOpen0 関数 (fwpmu.h)

FwpmEngineOpen0 関数は、フィルター エンジンへのセッションを開きます。

構文

DWORD FwpmEngineOpen0(
  [in, optional] const wchar_t             *serverName,
  [in]           UINT32                    authnService,
  [in, optional] SEC_WINNT_AUTH_IDENTITY_W *authIdentity,
  [in, optional] const FWPM_SESSION0       *session,
  [out]          HANDLE                    *engineHandle
);

パラメーター

[in, optional] serverName

型: const wchar_t*

この値は NULL である必要があります。

[in] authnService

種類: UINT32

使用する認証サービスを指定します。 許可されるサービスはRPC_C_AUTHN_WINNTされ、RPC_C_AUTHN_DEFAULTされます。

[in, optional] authIdentity

種類: SEC_WINNT_AUTH_IDENTITY_A*

フィルター エンジンにアクセスするための認証と承認の資格情報。 このポインターは省略可能であり、 NULL にすることができます。 このポインターが NULL の場合は、呼び出し元のスレッドの資格情報が使用されます。

[in, optional] session

種類: FWPM_SESSION0*

開いているセッションのセッション固有のパラメーター。 このポインターは省略可能であり、 NULL にすることができます。

[out] engineHandle

種類: HANDLE*

フィルター エンジンへの開いているセッションのハンドル。

戻り値

型: DWORD

リターン コード/値 Description
ERROR_SUCCESS
0
セッションが正常に開始されました。
FWP_E_ALREADY_EXISTS
0x80320009
指定した sessionKey を持つセッションが既に開かれています。
FWP_E_* エラー コード
0x80320001 — 0x80320039
Windows フィルタリング プラットフォーム (WFP) 固有のエラー。 詳細については、「 WFP エラー コード 」を参照してください。
RPC_* エラー コード
0x80010001 — 0x80010122
リモートまたはローカルのファイアウォール エンジンとの通信に失敗しました。

解説

ユーザー アプリケーションは FwpmEngineOpen0 を呼び出して、フィルター オブジェクトを追加または削除する前に、フィルター エンジンへのセッションを開くためのハンドルを取得する必要があります。 他のほとんどの Windows フィルター プラットフォーム管理機能では、フィルター エンジンへのオープン セッションのハンドルも必要です。

プログラムが終了すると、セッションは自動的に閉じられます。 セッションを明示的に閉じるには、 FwpmEngineClose0 を呼び出します。

セッションの場合。flagsFWPM_SESSION_FLAG_DYNAMICに設定されている場合、セッション中に追加されたすべての WFP オブジェクトは、セッションの終了時に自動的に削除されます。 セッションが動的でない場合、呼び出し元はセッション中に追加されたすべての WFP オブジェクトを明示的に削除する必要があります。

呼び出し元は フィルター エンジンFWPM_ACTRL_OPENアクセスする必要があります。 詳細については、「Access Control」を参照してください。

FwpmEngineOpen0 は、偽装されていないモードでのみ使用することを目的としています。

FwpmEngineOpen0 は、FwpmEngineOpen の特定の実装です。 詳細については、「 WFP Version-Independent 名と特定のバージョンの Windows を対象 とする」を参照してください。

次の C++ の例では 、FwpmEngineOpen0 を使用してフィルター セッションを開きます。

// Open a session to the filter engine
        
HANDLE    engineHandle = NULL;
DWORD    result = ERROR_SUCCESS; 

printf("Opening the filter engine.\n");
        
result = FwpmEngineOpen0(
    NULL, 
    RPC_C_AUTHN_WINNT, 
    NULL,
    NULL, 
    &engineHandle );

if (result != ERROR_SUCCESS)
    printf("FwpmEngineOpen0 failed. Return value: %d.\n", result); 
else
    printf("Filter engine opened successfully.\n");

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー fwpmu.h
Library Fwpuclnt.lib
[DLL] Fwpuclnt.dll

関連項目

Authentication-Service 定数

FWPM_SESSION0

FwpmEngineClose0

カーネル モード FwpmEngineOpen0

SEC_WINNT_AUTH_IDENTITY_A