Administración de la duración de los puntos de conexión de ALE
Un controlador de llamada que admita la aplicación de la capa de aplicación (ALE) puede necesitar asignar recursos para procesar indicaciones. En este tema se describe cómo configurar un controlador de llamada para liberar estos recursos cuando se cierra el punto de conexión asociado. La administración de la duración de los puntos de conexión de ALE se admite en Windows 7 y versiones posteriores de Windows.
Para administrar los recursos asociados a los puntos de conexión de ALE, un controlador de llamada puede registrarse en las capas siguientes:
FWPS_LAYER_ALE_RESOURCE_RELEASE_V4 (FWPM_LAYER_ALE_RESOURCE_RELEASE_V4)
FWPS_LAYER_ALE_RESOURCE_RELEASE_V6 (FWPM_LAYER_ALE_RESOURCE_RELEASE_V6)
FWPS_LAYER_ALE_ENDPOINT_CLOSURE_V4 (FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V4)
FWPS_LAYER_ALE_ENDPOINT_CLOSURE_V6 (FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V6)
Se indica una capa de liberación de recursos de ALE para cada indicación en la capa de asignación de recursos de ALE correspondiente (por ejemplo, FWPS_LAYER_ALE_RESOURCE_ASSIGNMENT_V4). Para asegurarse de que los controladores de llamada pueden coincidir con la capa de versión de la capa de asignación, el campo de metadatos de FWPS_METADATA_FIELD_TRANSPORT_ENDPOINT_HANDLE se proporciona en ambas capas y a cada punto de conexión se le asigna un identificador único.
Las capas de cierre de punto de conexión de ALE se invocan de forma diferente según el tipo de punto de conexión. En el caso de las conexiones TCP, se indica un cierre de punto de conexión de ALE para cada capa de autorización de ALE (por ejemplo, FWPS_LAYER_ALE_AUTH_CONNECT_V4) o la indicación de nivel de aceptación de recepción de autorización de ALE (por ejemplo, FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V4). Al igual que con las indicaciones de versión de recursos de ALE, el motor asigna un identificador único para cada punto de conexión y lo pasa en el campo de metadatos FWPS_METADATA_FIELD_TRANSPORT_ENDPOINT_HANDLE. En el caso de los puntos de conexión que no son TCP, se invoca una capa de cierre de punto de conexión de ALE para cada punto de conexión, independientemente del número de elementos remotos únicos con los que se comunica el socket. También se invoca una capa de cierre de punto de conexión de ALE para cada socket de escucha TCP.
Las llamadas registradas para una capa de cierre de punto de conexión de ALE pueden clasificarse en lápiz. Esto permite que la llamada vuelva a expulsar los paquetes en cola para el procesamiento asincrónico antes de que se apague el punto de conexión. Para la clasificación manuscrita, el controlador de llamada debe llamar a FwpsPendClassify0 seguido de una llamada a FwpsCompleteClassify0 cuando se complete el procesamiento.
Cuando corresponda, el motor indicará un identificador único para el punto de conexión primario en el campo de metadatos FWPS_METADATA_FIELD_PARENT_ENDPOINT_HANDLE. Esto permite al controlador de llamada realizar un seguimiento de las relaciones de elementos primarios y secundarios, si es necesario.