Condividi tramite


Gestione della durata degli endpoint ALE

Un driver di callout che supporta l'applicazione livello applicazione (ALE) potrebbe dover allocare risorse per elaborare le indicazioni. Questo argomento descrive come configurare un driver di callout per rilasciare tali risorse quando l'endpoint associato viene chiuso. La gestione della durata degli endpoint ALE è supportata in Windows 7 e versioni successive di Windows.

Per gestire le risorse associate agli endpoint ALE, un driver di callout può registrare ai livelli seguenti:

  • 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)

Un livello di versione della risorsa ALE è indicato per ogni indicazione nel livello di assegnazione di risorse ALE corrispondente, ad esempio FWPS_LAYER_ALE_RESOURCE_ASSIGNMENT_V4. Per assicurarsi che i driver di callout possano corrispondere al livello di rilascio al livello di assegnazione, il campo dei metadati FWPS_METADATA_FIELD_TRANSPORT_ENDPOINT_HANDLE viene fornito a entrambi i livelli e ogni endpoint viene assegnato un handle univoco.

I livelli di chiusura degli endpoint ALE vengono richiamati in modo diverso a seconda del tipo di endpoint. Per le connessioni TCP, una chiusura dell'endpoint ALE è indicata per ogni livello di connessione autorizzato alE (ad esempio FWPS_LAYER_ALE_AUTH_CONNECT_V4) o per autorizzare la ricezione del livello di accettazione (ad esempio FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V4). Come per le indicazioni sulla versione della risorsa ALE, il motore assegna un handle univoco per ogni endpoint e lo passa nel campo dei metadati di FWPS_METADATA_FIELD_TRANSPORT_ENDPOINT_HANDLE. Per gli endpoint non TCP, viene richiamato un livello di chiusura dell'endpoint ALE per ogni endpoint indipendentemente dal numero di peer remoti univoci con cui comunica il socket. Viene richiamato anche un livello di chiusura dell'endpoint ALE per ogni socket di ascolto TCP.

I callout registrati per un livello di chiusura dell'endpoint ALE possono eseguire la classificazione con penna. Ciò consente al callout di reinserire eventuali pacchetti accodati per l'elaborazione asincrona prima dell'arresto dell'endpoint. Per la classificazione penna, il driver callout deve chiamare FwpsPendClassify0 seguito da una chiamata a FwpsCompleteClassify0 al termine dell'elaborazione.

Se applicabile, il motore indicherà un handle univoco per l'endpoint padre nel campo dei metadati FWPS_METADATA_FIELD_PARENT_ENDPOINT_HANDLE. Ciò consente al driver di callout di tenere traccia delle relazioni padre/figlio, se necessario.