Leer en inglés

Compartir a través de


Función FwpsPendOperation0 (fwpsk.h)

Una llamada llama a la función FwpsPendOperation0 para suspender el procesamiento de paquetes pendiente de finalización de otra operación.

NotaFwpsPendOperation0 es una versión específica de FwpsPendOperation. Para obtener más información, vea NOMBRES DE Version-Independent DE PMA y versiones específicas de Windows dirigidas a destinatarios.
 

Sintaxis

NTSTATUS FwpsPendOperation0(
  [in]  HANDLE completionHandle,
  [out] HANDLE *completionContext
);

Parámetros

[in] completionHandle

Identificador de finalización necesario para lápiz de la operación de filtrado actual. Este parámetro se obtiene del miembro completionHandle de la estructura de FWPS_INCOMING_METADATA_VALUES0 que se pasa a la función classifyFn del controlador de llamada.

[out] completionContext

Identificador del contexto de finalización de esta operación en lápiz. Cuando la llamada está lista para reanudar el procesamiento de paquetes, llama a la función FwpsCompleteOperation0 con el valor de este parámetro como el parámetro completionContext de entrada.

Valor devuelto

La función FwpsPendOperation0 devuelve uno de los siguientes códigos NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
El procesamiento de paquetes se ha activado correctamente.
STATUS_FWP_CANNOT_PEND
Se realizó una llamada a FwpsPendOperation0 en una operación de clasificación de reautorización. Para obtener más información, vea la sección Comentarios.
STATUS_FWP_NULL_POINTER
Uno o varios de los parámetros no son válidos.
STATUS_FWP_TCPIP_NOT_READY
La pila de red TCP/IP no está lista para permitir esta operación.
Otros códigos de estado
Se produjo un error.

Comentarios

La llamada debe conservar el valor del parámetro completionContext hasta que reanude el procesamiento de paquetes. Cuando se haya completado la operación que solicita la llamada a esta función, la llamada debe llamar a la función FwpsCompleteOperation0 y pasarla el valor del parámetro completionContext .

Una llamada solo puede llamar a esta función para lápiz de un paquete que se origina en la FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_ Xxx, FWPM_LAYER_ALE_AUTH_LISTEN_ Xxx o FWPM_LAYER_ALE_AUTH_CONNECT_ capas de filtradoXxx. Una llamada puede basar la operación de procesamiento actual en un paquete cuando la llamada debe realizar el procesamiento en una de estas capas que pueden tardar un largo intervalo en completarse o que deben producirse en IRQL = PASSIVE_LEVEL si el IRQL > actual PASSIVE_LEVEL.

Para completar una conexión que se había insertado previamente en la capa FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_ Xxx , el controlador de llamada debe volver a expulsar el paquete clonado en esa capa, así como llamar a la función FwpsCompleteOperation0 .

Para poder procesar paquetes en lápiz, la función classifyFn del controlador de llamada debe establecer el miembro actionType de la estructura de FWPS_CLASSIFY_OUT0 en FWP_ACTION_BLOCK y el miembro Flags en FWPS_CLASSIFY_OUT_FLAG_ABSORB.

Las conexiones manuscritas se vuelven a autenticar después de que se ejecute la función FwpsCompleteOperation0 . Las conexiones TCP, si se permiten, se crean completando la operación de protocolo de enlace, pero las conexiones que no son TCP solo crean entradas de estado. Los datos de paquetes en lápiz se vacían de la memoria cuando se completa la función FwpsPendOperation0 , por lo que las aplicaciones deben retransmitir esos paquetes después de que se ejecute FwpsCompleteOperation0 . Las llamadas podrían almacenar en búfer estos datos y volver a expulsarlos en su nombre.

Solo se puede posponer una autorización de flujo de aplicación de aplicación (ALE) inicial llamando a FwpsPendOperation0 y FwpsCompleteOperation0. Si se vuelve a autorizar un flujo de ALE, se establece la marca FWP_CONDITION_FLAG_IS_REAUTHORIZE. Se producirá un error en una llamada a FwpsPendOperation0 desde las capas de filtrado FWPM_LAYER_ALE_AUTH_CONNECT_ Xxx o FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_ Xxx si se establece la marca FWP_CONDITION_FLAG_IS_REAUTHORIZE y se devolverá el código de estado de STATUS_FWP_CANNOT_PEND. Para obtener más información, consulte Reauthorization de ALE en Windows SDK.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Vista.
Plataforma de destino Universal
Encabezado fwpsk.h (incluya Fwpsk.h)
Library Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Consulte también

FWPS_CLASSIFY_OUT0

FWPS_INCOMING_METADATA_VALUES0

FwpsCompleteOperation0

classifyFn