Condividi tramite


Funzione FwpmEngineGetOption0 (fwpmu.h)

La funzione FwpmEngineGetOption0 recupera un'opzione del motore di filtro.

Sintassi

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

Parametri

[in] engineHandle

Tipo: HANDLE

Handle per una sessione aperta al motore di filtro. Chiamare FwpmEngineOpen0 per aprire una sessione al motore di filtro.

[in] option

Tipo: FWPM_ENGINE_OPTION

Opzione da recuperare.

[out] value

Tipo: FWP_VALUE0**

Valore dell'opzione. Il tipo di dati contenuto nel parametro value sarà FWP_UINT32.

Se l'opzione è FWPM_ENGINE_COLLECT_NET_EVENTS, il valore sarà uno dei seguenti.

Valore Significato
0
Gli eventi di rete non vengono raccolti.
1
Gli eventi di rete vengono raccolti.
 

Se l'opzione è FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS, il valore sarà una combinazione bit per bit dei valori seguenti.

Valore Significato
FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST
1
Gli eventi di rete multicast in ingresso vengono raccolti.
FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST
2
Gli eventi di rete di trasmissione in ingresso non vengono raccolti.
 

Se l'opzione è FWPM_ENGINE_PACKET_QUEUING (disponibile solo in Windows 8 e Windows Server 2012), il valore sarà uno dei seguenti.

Valore Significato
FWPM_ENGINE_OPTION_PACKET_QUEUE_NONE
0
Nessuna accodamento dei pacchetti è abilitato.
FWPM_ENGINE_OPTION_PACKET_QUEUE_INBOUND
1
L'accodamento dei pacchetti in ingresso è abilitato.
FWPM_ENGINE_OPTION_PACKET_QUEUE_OUTBOUND
2
L'accodamento dei pacchetti in uscita è abilitato.
 

Se l'opzione è FWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS (disponibile solo in Windows 8 e Windows Server 2012), il valore sarà uno dei seguenti.

Valore Significato
0
La funzionalità Monitoraggio connessione IPsec è disabilitata. Non vengono registrati eventi o notifiche di connessione IPsec.
1
La funzionalità Di monitoraggio connessione IPsec è abilitata. Vengono registrati nuovi eventi e notifiche di connessione IPsec.
 

Se l'opzioneè FWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC (disponibile solo in Windows 8 e Windows Server 2012), il valore sarà il tempo in millisecondi che specifica la durata massima per una singola transazione WFP. Le transazioni che richiedono più tempo di questa durata attiveranno un evento watchdog.

L'opzione FWPM_ENGINE_NAME_CACHE è riservata per l'uso interno.

Valore restituito

Tipo: DWORD

Codice/valore restituito Descrizione
ERROR_SUCCESS
0
L'opzione è stata recuperata correttamente.
FWP_E_* codice di errore
0x80320001: 0x80320039
Errore specifico di Windows Filtering Platform (WFP). Per informazioni dettagliate, vedere Codici di errore WFP .
RPC_* codice di errore
0x80010001: 0x80010122
Non è possibile comunicare con il motore firewall remoto o locale.

Commenti

Il chiamante deve liberare l'oggetto restituito da una chiamata a FwpmFreeMemory0.

Il chiamante deve FWPM_ACTRL_READ l'accesso al motore di filtro. Per altre informazioni, vedere Controllo di accesso.

FwpmEngineGetOption0 è un'implementazione specifica di FwpmEngineGetOption. Per altre informazioni , vedere Nomi Version-Independent WFP e Versioni specifiche di Windows .

Esempio

L'esempio C++ seguente illustra l'uso di FwpmEngineGetOption0 per determinare se vengono raccolti eventi di rete.

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

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione fwpmu.h
Libreria Fwpuclnt.lib
DLL Fwpuclnt.dll

Vedi anche

FWPM_ENGINE_OPTION

FWP_VALUE0

FwpmEngineSetOption0