PROTOCOL_CL_NOTIFY_CLOSE_AF funzione di callback (ndis.h)
La funzione ProtocolClNotifyCloseAf notifica a un client CoNDIS che il client deve chiudere la famiglia di indirizzi associata.
Sintassi
PROTOCOL_CL_NOTIFY_CLOSE_AF ProtocolClNotifyCloseAf;
NDIS_STATUS ProtocolClNotifyCloseAf(
[in] NDIS_HANDLE ClientAfContext
)
{...}
Parametri
[in] ClientAfContext
Handle fornito dal client per l'area di contesto per l'af associato. Il client ha allocato questa area di contesto e ha passato questo handle a NDIS nella relativa chiamata a Funzione NdisClOpenAddressFamilyEx .
Valore restituito
ProtocolClNotifyCloseAf può restituire una delle opzioni seguenti:
Codice restituito | Descrizione |
---|---|
|
Il client ha chiuso correttamente la famiglia di indirizzi. |
|
Il client gestisce questa richiesta in modo asincrono e chiamerà Funzione NdisClNotifyCloseAddressFamilyComplete al termine dell'operazione di chiusura. |
|
Il client non ha superato la richiesta per un motivo determinato dal driver. |
Commenti
The La funzione ProtocolClNotifyCloseAf è necessaria per i client CoNDIS. NDIS chiama ProtocolClNotifyCloseAf quando un gestore chiamate notifica a NDIS che la famiglia di indirizzi (AF) che il parametro ProtocolAfContext specifica deve essere chiuso. In risposta, il client deve:
- Chiamare la funzione NdisClDropParty tutte le volte necessario fino a quando solo una singola parte rimane attiva in ogni connessione virtuale multipoint , se il client dispone di connessioni multipoint attive.
- Chiamare la funzione NdisClCloseCall tutte le volte necessario per chiudere tutte le chiamate ancora aperte e associate all'AF.
- Chiamare la funzione NdisClDeregisterSap quante volte necessario per annullare la registrazione di tutti i punti di accesso al servizio (SAP) registrati dal client con il gestore chiamate.
- Chiamare il Funzione NdisClCloseAddressFamily per chiudere l'AF.
NDIS chiama ProtocolClNotifyCloseAf in IRQL <= DISPATCH_LEVEL.
Il client può usare NdisAfHandle mentre l'AF è aperto o mentre è L'operazione ProtocolClNotifyCloseAf è in sospeso. Se il parametro La funzione ProtocolClNotifyCloseAf restituisce NDIS_STATUS_PENDING, usare l'handle in Chiamata NdisClNotifyCloseAddressFamilyComplete al termine dell'operazione di chiusura.
Esempi
Per definire una funzione ProtocolClNotifyCloseAf , è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione con i tipi di funzione consente di eseguire l'analisi del codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica rilevano gli errori ed è un requisito per la scrittura dei driver per il sistema operativo Windows.Ad esempio, per definire una funzione ProtocolClNotifyCloseAf denominata "MyClNotifyCloseAf", usare il tipo PROTOCOL_CL_NOTIFY_CLOSE_AF , come illustrato in questo esempio di codice:
PROTOCOL_CL_NOTIFY_CLOSE_AF MyClNotifyCloseAf;
Implementare quindi la funzione come segue:
_Use_decl_annotations_
NDIS_STATUS
MyClNotifyCloseAf(
NDIS_HANDLE ProtocolAfContext
)
{...}
Il tipo di funzione PROTOCOL_CL_NOTIFY_CLOSE_AF è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano utilizzate le annotazioni applicate al tipo di funzione PROTOCOL_CL_NOTIFY_CLOSE_AF nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo di funzione per i driver NDIS.
Per informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Piattaforma di destinazione | Windows |
Intestazione | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |