Compartir a través de


Función FwpmEngineGetOption0 (fwpmu.h)

La función FwpmEngineGetOption0 recupera una opción de motor de filtro.

Sintaxis

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

Parámetros

[in] engineHandle

Tipo: HANDLE

Identificador de una sesión abierta en el motor de filtro. Llame a FwpmEngineOpen0 para abrir una sesión en el motor de filtro.

[in] option

Tipo: FWPM_ENGINE_OPTION

Opción que se va a recuperar.

[out] value

Tipo: FWP_VALUE0**

Valor de la opción. El tipo de datos contenido en el parámetro value será FWP_UINT32.

Si la opción es FWPM_ENGINE_COLLECT_NET_EVENTS, el valor será uno de los siguientes.

Valor Significado
0
Los eventos de red no se recopilan.
1
Se recopilan eventos de red.
 

Si la opción es FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS, el valor será una combinación bit a bit de los valores siguientes.

Valor Significado
FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST
1
Se recopilan eventos de red de multidifusión entrantes.
FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST
2
Los eventos de red de difusión entrantes no se recopilan.
 

Si la opción es FWPM_ENGINE_PACKET_QUEUING (disponible solo en Windows 8 y Windows Server 2012), el valor será uno de los siguientes.

Valor Significado
FWPM_ENGINE_OPTION_PACKET_QUEUE_NONE
0
No hay ninguna cola de paquetes habilitada.
FWPM_ENGINE_OPTION_PACKET_QUEUE_INBOUND
1
La puesta en cola de paquetes entrantes está habilitada.
FWPM_ENGINE_OPTION_PACKET_QUEUE_OUTBOUND
2
La puesta en cola de paquetes de salida está habilitada.
 

Si la opción es FWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS (disponible solo en Windows 8 y Windows Server 2012), el valor será uno de los siguientes.

Valor Significado
0
La característica Supervisión de conexiones IPsec está deshabilitada. No se registran eventos o notificaciones de conexión IPsec.
1
La característica Supervisión de conexiones IPsec está habilitada. Se registran nuevos eventos y notificaciones de conexión IPsec.
 

Si la opción es FWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC (disponible solo en Windows 8 y Windows Server 2012), el valor será el tiempo en milisegundos que especifica la duración máxima de una sola transacción DE PMA. Las transacciones que tardan más de esta duración desencadenarán un evento de guardián.

La opción FWPM_ENGINE_NAME_CACHE está reservada para uso interno.

Valor devuelto

Tipo: DWORD

Código o valor devuelto Descripción
ERROR_SUCCESS
0
La opción se recuperó correctamente.
código de error FWP_E_*
0x80320001: 0x80320039
Error específico de la Plataforma de filtrado de Windows (PMA). Consulte Códigos de error de PMA para obtener más información.
RPC_* código de error*
0x80010001: 0x80010122
Error al comunicarse con el motor de firewall remoto o local.

Comentarios

El autor de la llamada debe liberar el objeto devuelto por una llamada a FwpmFreeMemory0.

El autor de la llamada necesita FWPM_ACTRL_READ acceso al motor de filtro. Consulte Access Control para obtener más información.

FwpmEngineGetOption0 es una implementación específica de FwpmEngineGetOption. Para obtener más información, consulte NOMBRES de PMA Version-Independent y versiones específicas de destino de Windows .

Ejemplos

En el siguiente ejemplo de C++ se muestra el uso de FwpmEngineGetOption0 para determinar si se recopilan eventos de red.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado fwpmu.h
Library Fwpuclnt.lib
Archivo DLL Fwpuclnt.dll

Consulte también

FWPM_ENGINE_OPTION

FWP_VALUE0

FwpmEngineSetOption0