Leer en inglés

Compartir a través de


Función FwpsPendOperation0 (fwpsk.h)

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

NotafwpsPendOperation0 es una versión específica de FwpsPendOperation. Consulta nombres Version-Independent DEL PMA y destinatarios de versiones específicas de Windows para obtener más información.
 

Sintaxis

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

Parámetros

[in] completionHandle

Identificador de finalización necesario para pendir 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 clasifiqueFn del controlador de llamada.

[out] completionContext

Identificador del contexto de finalización de esta operación de 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 input completionContext.

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 reauthorización. Para obtener más información, vea 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
Error.

Observaciones

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, pasando el valor del parámetro completionContext.

Una llamada solo puede llamar a esta función para escribir un paquete que se origina en la FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_ Xxx, FWPM_LAYER_ALE_AUTH_LISTEN_ Xxxo FWPM_LAYER_ALE_AUTH_CONNECT_ capas de filtrado xxx. Una llamada puede plumar la operación de procesamiento actual en un paquete cuando la llamada debe realizar el procesamiento en una de estas capas que puede tardar un largo intervalo en completarse o que debe producirse en IRQL = PASSIVE_LEVEL si el IRQL actual > PASSIVE_LEVEL.

Para completar una conexión que se ha insertado previamente en la capa de 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 de clasifiqueFn del controlador de llamada debe establecer el miembro actionType de la estructura FWPS_CLASSIFY_OUT0 en FWP_ACTION_BLOCK y el miembro Flags en FWPS_CLASSIFY_OUT_FLAG_ABSORB.

Las conexiones con lápiz 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 dichos datos en búfer y volver a expulsar los datos en su nombre.

Solo se puede posponer una autorización inicial de flujo de aplicación (ALE) 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 fwpsPendOperation 0 desde la FWPM_LAYER_ALE_AUTH_CONNECT_ Xxx o FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_ capas de filtrado xxx si se establece la marca de FWP_CONDITION_FLAG_IS_REAUTHORIZE y se devolverá el código de estado STATUS_FWP_CANNOT_PEND. Para obtener más información, consulte Reauthorization de ALE en Windows SDK.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows Vista.
de la plataforma de destino de Universal
encabezado de fwpsk.h (incluya Fwpsk.h)
biblioteca de Fwpkclnt.lib
irQL <= DISPATCH_LEVEL

Consulte también

FWPS_CLASSIFY_OUT0

FWPS_INCOMING_METADATA_VALUES0

fwpsCompleteOperation0

clasificarFn