PROTOCOL_STATUS_EX funzione di callback (ndis.h)
La funzione ProtocolStatusEx indica le modifiche dello stato dai driver senza connessione sottostanti o NDIS.
Sintassi
PROTOCOL_STATUS_EX ProtocolStatusEx;
void ProtocolStatusEx(
[in] NDIS_HANDLE ProtocolBindingContext,
[in] PNDIS_STATUS_INDICATION StatusIndication
)
{...}
Parametri
[in] ProtocolBindingContext
Handle in un'area di contesto allocata dal driver del protocollo. Il driver del protocollo gestisce le informazioni sul contesto per associazione in questa area di contesto. Il driver ha fornito questo handle a NDIS quando il driver ha chiamato la funzione NdisOpenAdapterEx .
[in] StatusIndication
Puntatore a una struttura NDIS_STATUS_INDICATION contenente le informazioni sullo stato.
Valore restituito
nessuno
Osservazioni
Una chiamata a ProtocolStatusEx informa il driver del protocollo sulle modifiche nello stato di un driver sottostante.
Per determinare lo stato del collegamento, usare le indicazioni sullo stato dei driver sottostanti anziché le query OID. Queste indicazioni sullo stato migliorano le prestazioni del sistema ed evitare possibili condizioni di gara.
NDIS chiama la funzione ProtocolStatusEx di tutti i driver di protocollo associati quando un driver sottostante ripristina una scheda di interfaccia di rete. Prima NDIS specifica il codice NDIS_STATUS_RESET_START e versioni successive, al termine dell'operazione di reimpostazione, NDIS specifica il codice NDIS_STATUS_RESET_END .
NDIS non accetta richieste e richieste OID per una scheda miniport mentre un'operazione di reimpostazione è in corso, la notifica NDIS_STATUS_RESET_START avvisa i driver di protocollo associati per arrestare tali richieste sull'associazione interessata fino a quando non ricevono la notifica di NDIS_STATUS_RESET_END corrispondente.
NDIS chiama ProtocolStatusEx in IRQL <= DISPATCH_LEVEL.
Esempi
Per definire una funzione ProtocolStatusEx , è prima 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 usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.Ad esempio, per definire una funzione ProtocolStatusEx denominata "MyStatusEx ", usare il tipo di PROTOCOL_STATUS_EX , come illustrato nell'esempio di codice seguente:
PROTOCOL_STATUS_EX MyStatusEx;
Implementare quindi la funzione come indicato di seguito:
_Use_decl_annotations_
VOID
MyStatusEx(
NDIS_HANDLE ProtocolBindingContext,
PNDIS_STATUS_INDICATION StatusIndication
)
{...}
Il tipo di funzione PROTOCOL_STATUS_EX è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli 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 usate le annotazioni applicate al tipo di funzione PROTOCOL_STATUS_EX nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver NDIS.
Per informazioni su 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 (includere Ndis.h) |
IRQL | <= DISPATCH_LEVEL |