Condividi tramite


Funzione NdisIMNotifyPnPEvent (ndis.h)

Nota NDIS 5. x è stato deprecato e sostituito da NDIS 6. x. Per i nuovi driver NDIS, vedere Driver di rete a partire da Windows Vista. Per informazioni sulla conversione di NDIS 5. driver x a NDIS 6. x, vedere Porting NDIS 5.x Drivers to NDIS 6.0.

NdisIMNotifyPnPEvent propaga la notifica di un evento Plug and Play o Risparmio energia a un driver eccessivamente potente.

Sintassi

NDIS_STATUS NdisIMNotifyPnPEvent(
  [in] NDIS_HANDLE    MiniportHandle,
  [in] PNET_PNP_EVENT NetPnPEvent
);

Parametri

[in] MiniportHandle

Input dell'handle per MiniportInitialize. Questo handle rappresenta il driver miniport interessato dall'evento Plug and Play o Power Management passato alla funzione diProtocolPnPEvent del chiamante.

[in] NetPnPEvent

Puntatore a una struttura NET_PNP_EVENT, che descrive l'evento Plug and Play o l'evento Power Management indicato al driver di protocollo.

Valore restituito

NdisIMNotifyPnPEvent può restituire uno dei seguenti elementi:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS L'evento Plug and Play propagato al driver overlying è riuscito.
NDIS_STATUS_FAILURE Il driver overlying ha avuto esito negativo per l'evento Plug and Play propagato.

Il valore restituito è significativo solo quando l'evento propagato è un NetEventQueryPower o un NetEventQueryRemove. Per tutti gli altri eventi propagati, il valore restituito è sempre NDIS_STATUS_SUCCESS.

Osservazioni

Un driver intermedio NDIS chiama NdisIMNotifyPnPEvent nel contesto della funzioneProtocolPnPEvent del driver per propagare la notifica di un evento Plug and Play o Power Management al driver overlying.

Se l'evento propagato è un NetEventQueryPower o un NetEventQueryRemove, il driver intermedio deve controllare il valore NDIS_STATUS restituito da NdisIMNotifyPnPEvent. Se lo stato restituito è NDIS_STATUS_SUCCESS, il driver intermedio deve gestire l'evento internamente come di consueto e quindi restituire NDIS_STATUS_SUCCESS dalla relativa funzione ProtocolPnPEvent. Se lo stato restituito è NDIS_STATUS_FAILURE, il driver intermedio deve restituire NDIS_STATUS_FAILURE dal relativo ProtocolPnPEvent senza ulteriori elaborazioni.

Per tutti gli altri eventi propagati, NdisIMNotifyPnPEvent restituisce sempre NDIS_STATUS_SUCCESS. La funzione di ProtocolPnPEvent del driver intermedio in questi casi deve propagare il NDIS_STATUS restituito da NdisIMNotifyPnPEvent.

Il modo in cui il driver intermedio elabora un NetEventSetPower ricevuto dalla funzione ProtocolPnPEvent dipende dallo stato di alimentazione del dispositivo specificato. Se lo stato di alimentazione del dispositivo specificato è NdisDeviceStateD0, il driver intermedio deve gestire l'evento internamente come di consueto e quindi chiamare NdisIMNotifyPnPEvent. Per qualsiasi altro stato di alimentazione del dispositivo specificato, il driver intermedio deve prima chiamare NdisIMNotifyPnPEvent e quindi gestire l'evento internamente come di consueto.

Un driver intermedio deve chiamare NdisIMNotifyPnPEvent per propagare un NetEventReconfigure o NetEventBindList solo se l'NetEventReconfigure o NetEventBindList è indicato in unNULLProtocolBindingContext. Se un NetEventReconfigure o NetEventBindList viene indicato in un NULLProtocolBindingContext, il driver intermedio non deve chiamare NdisIMNotifyPnPEvent per propagare l'evento.

Se un driver intermedio gestisce un NetEventReconfigure o un NetEventBindList, deve convalidare tutti i dati associati all'evento. Per altre informazioni su tali dati, vedere NET_PNP_EVENT per driver di protocollo.)

Il supporto di sistema per NdisIMNotifyPnPEvent è disponibile in Windows XP e versioni successive.

  • Piattaforma di destinazione: universal
  • Versione: non supportata per i driver NDIS 6.0 in Windows Vista. Usare NdisMNetPnPEvent. Supportato per i driver NDIS 5.1 in Windows Vista e Windows XP.

Fabbisogno

Requisito Valore
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL PASSIVE_LEVEL

Vedere anche