MINIPORT_CHECK_FOR_HANG funzione di callback (ndis.h)
Avviso
Le funzioni di callback MiniportCheckForHangEx e MiniportResetEx sono sconsigliate per tutti i driver NDIS 6.83 e versioni successive. Per altre informazioni, vedere Operazioni check-for-hang e reset in NDIS 6.83 e versioni successive.
NDIS chiama la funzione MiniportCheckForHangEx di un driver miniport per controllare lo stato operativo della scheda miniport che rappresenta una scheda di interfaccia di rete (NIC).
Sintassi
MINIPORT_CHECK_FOR_HANG MiniportCheckForHang;
BOOLEAN MiniportCheckForHang(
[in] NDIS_HANDLE MiniportAdapterContext
)
{...}
Parametri
[in] MiniportAdapterContext
Handle per un'area di contesto allocata dal driver miniport nella funzione MiniportInitializeEx . Il driver miniport utilizza questa area di contesto per mantenere le informazioni sullo stato per un adattatore miniport.
Valore restituito
MiniportCheckForHangEx restituisce TRUE se il driver determina che una scheda di interfaccia di rete non funziona e NDIS deve chiamare la funzione MiniportResetEx del driver. Per altre informazioni, vedere la sezione Osservazioni.
Commenti
Un driver miniport specifica il punto di ingresso MiniportCheckForHangEx quando chiama il Funzione NdisMRegisterMiniportDriver .
MiniportCheckForHangEx non è necessario per i driver intermedi.
MiniportCheckForHangEx non esegue altro che controllare lo stato interno della scheda di interfaccia di rete e restituire TRUE se rileva che la scheda di interfaccia di rete non funziona correttamente.
Per impostazione predefinita, NDIS chiama MiniportCheckForHangEx circa ogni due secondi. Per questo motivo, la funzione MiniportCheckForHangEx del driver miniport dovrebbe restituire il più rapidamente possibile.
Se un driver miniport non completa una richiesta OID entro due chiamate successive a MiniportCheckForHangEx, NDIS può chiamare la funzione MiniportResetEx del driver. Tuttavia, per evitare reimpostazioni non necessarie, la funzione MiniportInitializeEx del driver può estendere l'intervallo di timeout check-for-hang impostando un valore CheckForHangTimeInSeconds appropriato quando chiama il Funzione NdisMSetMiniportAttributes .
Per altre informazioni sull'impostazione del valore di timeout CheckForHangTimeInSeconds , vedere Miniport Adapter Check-for-Hang and Reset Operations.For More information about setting the CheckForHangTimeInSeconds timeout value, see Miniport Adapter Check-for-Hang and Reset Operations.
NDIS chiama MiniportCheckForHangEx in IRQL = PASSIVE_LEVEL.
Esempi
Per definire una funzione MiniportCheckForHangEx , è 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 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 MiniportCheckForHangEx denominata "MyCheckForHangEx", usare il tipo di MINIPORT_CHECK_FOR_HANG come illustrato nell'esempio di codice seguente:
MINIPORT_CHECK_FOR_HANG MyCheckForHangEx;
Implementare quindi la funzione come segue:
_Use_decl_annotations_
BOOLEAN
MyCheckForHangEx(
NDIS_HANDLE MiniportAdapterContext
)
{...}
Il tipo di funzione MINIPORT_CHECK_FOR_HANG è 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 assicura che vengano utilizzate le annotazioni applicate al tipo di funzione MINIPORT_CHECK_FOR_HANG 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 | PASSIVE_LEVEL |
Vedi anche
Controllo dell'adapter Miniport per operazioni di blocco e reimpostazione