MINIPORT_DEVICE_PNP_EVENT_NOTIFY funzione di callback (ndis.h)
NDIS chiama la funzione MiniportDevicePnPEventNotify di un driver miniport per informare il driver di eventi Plug and Play (PnP).
Sintassi
MINIPORT_DEVICE_PNP_EVENT_NOTIFY MiniportDevicePnpEventNotify;
void MiniportDevicePnpEventNotify(
[in] NDIS_HANDLE MiniportAdapterContext,
[in] PNET_DEVICE_PNP_EVENT NetDevicePnPEvent
)
{...}
Parametri
[in] MiniportAdapterContext
Handle in un'area di contesto allocata dal driver miniport nella funzione MiniportInitializeEx . Il driver miniport usa questa area di contesto per mantenere le informazioni sullo stato per un adattatore miniport.
[in] NetDevicePnPEvent
Puntatore a una struttura NET_DEVICE_PNP_EVENT che descrive un evento di Plug and Play dispositivo.
Valore restituito
nessuno
Osservazioni
Un driver specifica il punto di ingresso MiniportDevicePnPEventNotify quando chiama Funzione NdisMRegisterMiniportDriver .
NDIS chiama la funzione MiniportDevicePnPEventNotify del driver con il membro DevicePnPEvent del parametro NetDevicePnPEvent impostato su NdisDevicePnPEventPowerProfileChanged dopo uno degli eventi seguenti:
- L'inizializzazione del driver è completata.
- Il driver ha ricevuto una notifica di OID_PNP_SET_POWER che specifica lo stato attivato ( NdisDeviceStateD0).
Quando un driver riceve una notifica di rimozione delle sorprese (il membro DevicePnPEvent del parametro NetDevicePnPEvent è NdisDevicePnPEventSurpriseRemoved), deve:
- Si noti internamente che il dispositivo è stato rimosso.
- Annullare eventuali IRP in sospeso inviati al driver del bus sottostante.
NDIS chiama MiniportDevicePnPEventNotify in IRQL = PASSIVE_LEVEL.
Esempi
Per definire una funzione MiniportDevicePnPEventNotify , è 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 MiniportDevicePnPEventNotify denominata "MyDevicePnPEventNotify", usare il tipo di MINIPORT_DEVICE_PNP_EVENT_NOTIFY come illustrato in questo esempio di codice:
MINIPORT_DEVICE_PNP_EVENT_NOTIFY MyDevicePnPEventNotify;
Implementare quindi la funzione come indicato di seguito:
_Use_decl_annotations_
VOID
MyDevicePnPEventNotify(
NDIS_HANDLE MiniportAdapterContext,
PNET_DEVICE_PNP_EVENT NetDevicePnPEvent
)
{...}
Il tipo di funzione MINIPORT_DEVICE_PNP_EVENT_NOTIFY è 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 MINIPORT_DEVICE_PNP_EVENT_NOTIFY 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 | PASSIVE_LEVEL |
Regole di conformità DDI | NdisOidComplete |