Partager via


Fonction FwpmEngineGetOption0 (fwpmu.h)

La fonction FwpmEngineGetOption0 récupère une option de moteur de filtre.

Syntaxe

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

Paramètres

[in] engineHandle

Type : HANDLE

Gérer pour une session ouverte sur le moteur de filtre. Appelez FwpmEngineOpen0 pour ouvrir une session sur le moteur de filtre.

[in] option

Type : FWPM_ENGINE_OPTION

Option à récupérer.

[out] value

Type : FWP_VALUE0**

Valeur de l'option. Le type de données contenu dans le paramètre value sera FWP_UINT32.

Si l’option est FWPM_ENGINE_COLLECT_NET_EVENTS, la valeur sera l’une des options suivantes.

Valeur Signification
0
Les événements réseau ne sont pas collectés.
1
Les événements réseau sont collectés.
 

Si l’option est FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS, la valeur est une combinaison au niveau du bit des valeurs suivantes.

Valeur Signification
FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST
1
Les événements réseau de multidiffusion entrants sont collectés.
FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST
2
Les événements de réseau de diffusion entrant ne sont pas collectés.
 

Si l’option est FWPM_ENGINE_PACKET_QUEUING (disponible uniquement dans Windows 8 et Windows Server 2012), la valeur est l’une des valeurs suivantes.

Valeur Signification
FWPM_ENGINE_OPTION_PACKET_QUEUE_NONE
0
Aucune mise en file d’attente de paquets n’est activée.
FWPM_ENGINE_OPTION_PACKET_QUEUE_INBOUND
1
La mise en file d’attente de paquets entrantes est activée.
FWPM_ENGINE_OPTION_PACKET_QUEUE_OUTBOUND
2
La mise en file d’attente de paquets sortantes est activée.
 

Si l’option est FWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS (disponible uniquement dans Windows 8 et Windows Server 2012), la valeur est l’une des valeurs suivantes.

Valeur Signification
0
La fonctionnalité De surveillance des connexions IPsec est désactivée. Aucun événement de connexion IPsec ni aucune notification n’est enregistré.
1
La fonctionnalité Analyse des connexions IPsec est activée. Les nouveaux événements et notifications de connexion IPsec sont en cours de journalisation.
 

Si l’option est FWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC (disponible uniquement dans Windows 8 et Windows Server 2012), la valeur correspond à la durée en millisecondes qui spécifie la durée maximale d’une transaction PAM unique. Les transactions prenant plus de temps que cette durée déclenchent un événement de surveillance.

L’option FWPM_ENGINE_NAME_CACHE est réservée à un usage interne.

Valeur retournée

Type : DWORD

Code/valeur de retour Description
ERROR_SUCCESS
0
L’option a été récupérée avec succès.
code d’erreur FWP_E_*
0x80320001 0x80320039
Erreur spécifique à la plateforme de filtrage Windows (PAM). Pour plus d’informations, consultez Codes d’erreur PAM .
code d’erreur RPC_*
0x80010001 — 0x80010122
Échec de la communication avec le moteur de pare-feu distant ou local.

Remarques

L’appelant doit libérer l’objet retourné par un appel à FwpmFreeMemory0.

L’appelant a besoin FWPM_ACTRL_READ accès au moteur de filtre. Pour plus d’informations, consultez Access Control.

FwpmEngineGetOption0 est une implémentation spécifique de FwpmEngineGetOption. Pour plus d’informations , voir PAM Version-Independent noms et Ciblage de versions spécifiques de Windows .

Exemples

L’exemple C++ suivant illustre l’utilisation de FwpmEngineGetOption0 pour déterminer si des événements réseau sont collectés.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête fwpmu.h
Bibliothèque Fwpuclnt.lib
DLL Fwpuclnt.dll

Voir aussi

FWPM_ENGINE_OPTION

FWP_VALUE0

FwpmEngineSetOption0