Condividi tramite


PROTOCOL_STATUS_EX funzione di callback (ndis.h)

La funzione ProtocolStatusEx indica le modifiche dello stato dai driver senza connessione sottostanti o NDIS.

Nota È necessario dichiarare la funzione usando il tipo di PROTOCOL_STATUS_EX . Per altre informazioni, vedere la sezione Esempi seguenti.
 

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

Vedi anche

MiniportResetEx

NDIS_STATUS_INDICATION

NDIS_STATUS_RESET_END

NDIS_STATUS_RESET_START

NdisOpenAdapterEx