FwpmEngineGetOption0 関数 (fwpmu.h)
FwpmEngineGetOption0 関数は、フィルター エンジン オプションを取得します。
構文
DWORD FwpmEngineGetOption0(
[in] HANDLE engineHandle,
[in] FWPM_ENGINE_OPTION option,
[out] FWP_VALUE0 **value
);
パラメーター
[in] engineHandle
型: HANDLE
フィルター エンジンへの開いているセッションのハンドル。 FwpmEngineOpen0 を呼び出して、フィルター エンジンへのセッションを開きます。
[in] option
取得するオプション。
[out] value
種類: FWP_VALUE0**
オプション値。 value パラメーターに含まれるデータ型がFWP_UINT32されます。
option がFWPM_ENGINE_COLLECT_NET_EVENTSの場合、値は次のいずれかになります。
値 | 意味 |
---|---|
|
ネットワーク イベントが収集されていません。 |
|
ネットワーク イベントが収集されています。 |
option がFWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDSの場合、値は次の値のビットごとの組み合わせになります。
値 | 意味 |
---|---|
|
受信マルチキャスト ネットワーク イベントが収集されています。 |
|
受信ブロードキャスト ネットワーク イベントは収集されていません。 |
オプションがFWPM_ENGINE_PACKET_QUEUING (Windows 8 および Windows Server 2012 でのみ使用可能) の場合、値は次のいずれかになります。
値 | 意味 |
---|---|
|
パケット キューが有効になっていません。 |
|
受信パケット キューが有効になっています。 |
|
送信パケット キューが有効になっています。 |
オプションがFWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS (Windows 8 および Windows Server 2012 でのみ使用可能) の場合、値は次のいずれかになります。
値 | 意味 |
---|---|
|
IPsec 接続監視機能が無効になっています。 IPsec 接続イベントまたは通知がログに記録されていません。 |
|
IPsec 接続監視機能が有効になっています。 新しい IPsec 接続イベントと通知がログに記録されています。 |
オプションが (Windows 8 および Windows Server 2012 でのみ使用可能) FWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC場合、値は 1 つの WFP トランザクションの最大期間を指定する時間 (ミリ秒単位) になります。 この期間より長い時間がかかるトランザクションでは、ウォッチドッグ イベントがトリガーされます。
FWPM_ENGINE_NAME_CACHE オプションは、内部使用のために予約されています。
戻り値
型: DWORD
リターン コード/値 | Description |
---|---|
|
オプションが正常に取得されました。 |
|
Windows フィルタリング プラットフォーム (WFP) 固有のエラー。 詳細については、「 WFP エラー コード 」を参照してください。 |
|
リモートまたはローカルのファイアウォール エンジンとの通信に失敗しました。 |
注釈
呼び出し元は 、FwpmFreeMemory0 の呼び出しによって返されたオブジェクトを解放する必要があります。
呼び出し元は 、 フィルター エンジンFWPM_ACTRL_READアクセスする必要があります。 詳細については、「Access Control」を参照してください。
FwpmEngineGetOption0 は、FwpmEngineGetOption の特定の実装です。 詳細については、「 WFP Version-Independent 名と特定のバージョンの Windows を対象 とする」を参照してください。
例
次の C++ の例は、 FwpmEngineGetOption0 を使用して、ネットワーク イベントが収集されているかどうかを判断する方法を示しています。
#include <windows.h>
#include <fwpmu.h>
#include <stdio.h>
#pragma comment(lib, "Fwpuclnt.lib")
void main()
{
HANDLE engineHandle = NULL;
DWORD result = ERROR_SUCCESS;
FWPM_ENGINE_OPTION option = FWPM_ENGINE_COLLECT_NET_EVENTS;
FWP_VALUE0* fwpValue = NULL;
result = FwpmEngineOpen0( NULL, RPC_C_AUTHN_WINNT, NULL, NULL, &engineHandle );
if (result != ERROR_SUCCESS)
{
printf("FwpmEngineOpen0 failed.\n");
return;
}
result = FwpmEngineGetOption0( engineHandle, option, &fwpValue);
if (result != ERROR_SUCCESS)
{
printf("FwpmEngineGetOption0 failed.\n");
return;
}
else if(fwpValue->type == FWP_UINT32)
{
if(fwpValue->uint32 == 1 )
printf("Network events are being collected.\n");
else
printf("Network events are NOT being collected.\n");
}
else
printf("Unexpected data type received.\n");
FwpmFreeMemory0((void**)&fwpValue);
return;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | fwpmu.h |
Library | Fwpuclnt.lib |
[DLL] | Fwpuclnt.dll |