Freigeben über


NdisIMNotifyPnPEvent-Funktion (ndis.h)

Hinweis NDIS 5. x wurde veraltet und wird von NDIS 6 abgelöst. x. Informationen zur Entwicklung neuer NDIS-Treiber finden Sie unter Netzwerktreiber ab Windows Vista. Informationen zum Portieren von NDIS 5. x-Treiber auf NDIS 6. x, siehe Portieren von NDIS 5.x-Treibern zu NDIS 6.0.

NdisIMNotifyPnPEvent gibt die Benachrichtigung über ein Plug & Play- oder Power Management-Ereignis an einen überlappenden Treiber weiter.

Syntax

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

Parameter

[in] MiniportHandle

Die Handleeingabe für MiniportInitialize. Dieses Handle stellt den Miniporttreiber dar, der vom Plug & Play- oder Power Management-Ereignis betroffen ist, das an die ProtocolPnPEvent-Funktion des Aufrufers übergeben wird.

[in] NetPnPEvent

Zeiger auf eine NET_PNP_EVENT-Struktur, die das Plug & Play- oder Power Management-Ereignis beschreibt, das dem Protokolltreiber angezeigt wird.

Rückgabewert

NdisIMNotifyPnPEvent kann eine der folgenden Rückgaben ausführen:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS Der übersteigende Treiber hat erfolgreich weitergegeben, Plug & Play Ereignis erfolgreich war.
NDIS_STATUS_FAILURE Der übersteigende Treiber hat das weitergegebene Plug & Play-Ereignis fehlgeschlagen.

Der Rückgabewert ist nur dann signifikant, wenn das weitergegebene Ereignis ein NetEventQueryPower oder ein NetEventQueryRemove ist. Für alle anderen weitergegebenen Ereignisse ist der Rückgabewert immer NDIS_STATUS_SUCCESS.

Hinweise

Ein NDIS-Zwischentreiber ruft NdisIMNotifyPnPEvent im Kontext der ProtocolPnPEvent-Funktion des Treibers auf, um die Benachrichtigung über ein Plug & Play- oder Power Management-Ereignis an den überlappenden Treiber zu verteilen.

Wenn das weitergegebene Ereignis ein NetEventQueryPower oder ein NetEventQueryRemove ist, muss der Zwischentreiber den von NdisIMNotifyPnPEvent zurückgegebenen NDIS_STATUS-Wert überprüfen. Wenn der zurückgegebene status NDIS_STATUS_SUCCESS ist, sollte der Zwischentreiber das Ereignis wie gewohnt intern behandeln und dann NDIS_STATUS_SUCCESS von seiner ProtocolPnPEvent-Funktion zurückgeben. Wenn die zurückgegebene status NDIS_STATUS_FAILURE ist, sollte der Zwischentreiber ohne weitere Verarbeitung NDIS_STATUS_FAILURE aus seinem ProtocolPnPEvent zurückgeben.

Für alle anderen weitergegebenen Ereignisse gibt NdisIMNotifyPnPEvent immer NDIS_STATUS_SUCCESS zurück. Die ProtocolPnPEvent-Funktion des Zwischentreibers sollte in solchen Fällen die von NdisIMNotifyPnPEvent zurückgegebene NDIS_STATUS weitergeben.

Wie der Zwischentreiber ein NetEventSetPower verarbeitet, das von seiner ProtocolPnPEvent-Funktion empfangen wird, hängt vom angegebenen Geräteleistungsstatus ab. Wenn der angegebene Gerätestromzustand NdisDeviceStateD0 ist, sollte der Zwischentreiber das Ereignis wie gewohnt intern behandeln und dann NdisIMNotifyPnPEvent aufrufen. Für jeden anderen angegebenen Gerätestromzustand sollte der Zwischentreiber zuerst NdisIMNotifyPnPEvent aufrufen und das Ereignis dann wie gewohnt intern behandeln.

Ein Zwischentreiber sollte NdisIMNotifyPnPEvent aufrufen, um eine NetEventReconfigure oder NetEventBindList nur dann weiterzuleiten, wenn netEventReconfigure oder NetEventBindList in einem ProtokollBindingContext angegeben ist, das nicht NULL ist. Wenn eine NetEventReconfigure oder NetEventBindList in einem NULLProtocolBindingContext angegeben ist, sollte der Zwischentreiber NdisIMNotifyPnPEvent nicht aufrufen, um das Ereignis zu verteilen.

Wenn ein Zwischentreiber eine NetEventReconfigure oder eine NetEventBindList verarbeitet, sollte er alle dem Ereignis zugeordneten Daten überprüfen. (Weitere Informationen zu diesen Daten finden Sie unter NET_PNP_EVENT für Protokolltreiber.)

Die Systemunterstützung für NdisIMNotifyPnPEvent ist in Windows XP und höheren Versionen verfügbar.

  • Zielplattform: Universell
  • Version: Wird für NDIS 6.0-Treiber in Windows Vista nicht unterstützt. Verwenden Sie stattdessen NdisMNetPnPEvent. Unterstützt für NDIS 5.1-Treiber in Windows Vista und Windows XP.

Anforderungen

Anforderung Wert
Header ndis.h (include Ndis.h)
Bibliothek Ndis.lib
IRQL PASSIVE_LEVEL

Weitere Informationen