Freigeben über


FwpmEngineGetOption0-Funktion (fwpmu.h)

Die FwpmEngineGetOption0-Funktion ruft eine Filter-Engine-Option ab.

Syntax

DWORD FwpmEngineGetOption0(
  [in]  HANDLE             engineHandle,
  [in]  FWPM_ENGINE_OPTION option,
  [out] FWP_VALUE0         **value
);

Parameter

[in] engineHandle

Typ: HANDLE

Handle für eine geöffnete Sitzung für die Filter-Engine. Rufen Sie FwpmEngineOpen0 auf, um eine Sitzung für die Filter-Engine zu öffnen.

[in] option

Typ: FWPM_ENGINE_OPTION

Die abzurufende Option.

[out] value

Typ: FWP_VALUE0**

Der Optionswert. Der im Wertparameter enthaltene Datentyp wird FWP_UINT32.

Wenn die OptionFWPM_ENGINE_COLLECT_NET_EVENTS ist, ist der Wert einer der folgenden Werte.

Wert Bedeutung
0
Netzwerkereignisse werden nicht erfasst.
1
Netzwerkereignisse werden gesammelt.
 

Wenn die OptionFWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS ist, ist der Wert eine bitweise Kombination der folgenden Werte.

Wert Bedeutung
FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST
1
Eingehende Multicastnetzwerkereignisse werden gesammelt.
FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST
2
Eingehende Broadcastnetzwerkereignisse werden nicht erfasst.
 

Wenn die OptionFWPM_ENGINE_PACKET_QUEUING ist (nur in Windows 8 und Windows Server 2012 verfügbar), ist der Wert einer der folgenden Werte.

Wert Bedeutung
FWPM_ENGINE_OPTION_PACKET_QUEUE_NONE
0
Es ist keine Paketwarteschlange aktiviert.
FWPM_ENGINE_OPTION_PACKET_QUEUE_INBOUND
1
Eingehende Paketwarteschlangen sind aktiviert.
FWPM_ENGINE_OPTION_PACKET_QUEUE_OUTBOUND
2
Ausgehendes Paketwarteschlangen ist aktiviert.
 

Wenn die OptionFWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS ist (nur in Windows 8 und Windows Server 2012 verfügbar), ist der Wert einer der folgenden Werte.

Wert Bedeutung
0
Die IPsec-Verbindungsüberwachungsfunktion ist deaktiviert. Es werden keine IPsec-Verbindungsereignisse oder -benachrichtigungen protokolliert.
1
Die IPsec-Verbindungsüberwachungsfunktion ist aktiviert. Neue IPsec-Verbindungsereignisse und -benachrichtigungen werden protokolliert.
 

Wenn die OptionFWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC ist (nur in Windows 8 und Windows Server 2012 verfügbar), ist der Wert die Zeit in Millisekunden, die die maximale Dauer für eine einzelne WFP-Transaktion angibt. Transaktionen, die länger als diese Dauer dauern, lösen ein Watchdog-Ereignis aus.

Die Option FWPM_ENGINE_NAME_CACHE ist für die interne Verwendung reserviert.

Rückgabewert

Art: DWORD

Rückgabecode/-wert BESCHREIBUNG
ERROR_SUCCESS
0
Die Option wurde erfolgreich abgerufen.
FWP_E_*-Fehlercode
0x80320001 – 0x80320039
Ein WFP-spezifischer Fehler (Windows Filtering Platform). Weitere Informationen finden Sie unter WFP-Fehlercodes .
RPC_*-Fehlercode
0x80010001 – 0x80010122
Fehler bei der Kommunikation mit der Remote- oder lokalen Firewall-Engine.

Hinweise

Der Aufrufer muss das zurückgegebene Objekt durch einen Aufruf von FwpmFreeMemory0 freigeben.

Der Aufrufer benötigt FWPM_ACTRL_READ Zugriff auf das Filtermodul. Weitere Informationen finden Sie unter Access Control.

FwpmEngineGetOption0 ist eine spezifische Implementierung von FwpmEngineGetOption. Weitere Informationen finden Sie unter WFP Version-Independent Namen und Zielgruppenspezifische Windows-Versionen .

Beispiele

Das folgende C++-Beispiel veranschaulicht die Verwendung von FwpmEngineGetOption0 , um zu bestimmen, ob Netzwerkereignisse gesammelt werden.

#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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile fwpmu.h
Bibliothek fwpuclnt.lib
DLL Fwpuclnt.dll

Weitere Informationen

FWPM_ENGINE_OPTION

FWP_VALUE0

FwpmEngineSetOption0