Freigeben über


NdisIMNotifyPnPEvent-Funktion (ndis.h)

Hinweis NDIS 5. x ist veraltet und wird von NDIS 6 ersetzt. x. Informationen zur neuen NDIS-Treiberentwicklung finden Sie unter Netzwerktreiber ab Windows Vista. Informationen zum Portieren von NDIS 5. x Treiber auf NDIS 6. xfinden Sie unter Portieren von NDIS 5.x-Treibern zu NDIS 6.0.

NdisIMNotifyPnPEvent die Benachrichtigung über ein Plug and Play- oder Power Management-Ereignis an einen überlappenden Treiber verteilt.

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 miniport-Treiber dar, der von dem Plug and 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 and Play-Ereignis oder das Power Management-Ereignis beschreibt, das dem Protokolltreiber angezeigt wird.

Rückgabewert

NdisIMNotifyPnPEvent- kann eine der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS Der übersteigende Treiber war erfolgreich verteiltes Plug- und Play-Ereignis erfolgreich.
NDIS_STATUS_FAILURE Fehler des überlasteten Treibers für das verteilte Plug- und Play-Ereignis.

Der Rückgabewert ist nur dann wichtig, wenn das verteilte Ereignis ein NetEventQueryPower- oder ein NetEventQueryRemove-ist. Für alle anderen verteilten Ereignisse ist der Rückgabewert immer NDIS_STATUS_SUCCESS.

Bemerkungen

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

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

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

Wie der Zwischentreiber eine NetEventSetPower verarbeitet, die von der ProtocolPnPEvent--Funktion empfangen wird, hängt vom angegebenen Geräteleistungszustand ab. Wenn der angegebene Gerätestromzustand NdisDeviceStateD0ist, sollte der Zwischentreiber das Ereignis intern wie gewohnt behandeln und dann NdisIMNotifyPnPEventaufrufen. Für alle anderen angegebenen Gerätestromzustände sollte der Zwischentreiber zuerst NdisIMNotifyPnPEvent- aufrufen und dann das Ereignis intern wie gewohnt behandeln.

Ein Zwischentreiber sollte NdisIMNotifyPnPEvent- aufrufen, um eine NetEventReconfigure oder NetEventBindList nur dann zu verteilen, wenn die NetEventReconfigure oder NetEventBindList- für ein nicht-NULLProtocolBindingContext-angegeben ist. Wenn ein NetEventReconfigure oder NetEventBindList- für ein NULL-ProtocolBindingContext-angegeben ist, sollte der Zwischentreiber nicht NdisIMNotifyPnPEvent- aufrufen, um das Ereignis zu verteilen.

Wenn ein Zwischentreiber eine NetEventReconfigure- oder eine NetEventBindList-behandelt, sollten alle dem Ereignis zugeordneten Daten überprüft werden. (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: universelle
  • Version: 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)
Library Ndis.lib
IRQL- PASSIVE_LEVEL

Siehe auch