共用方式為


NdisIMNotifyPnPEvent 函式 (ndis.h)

附註 NDIS 5。 x 已被取代,且已被 NDIS 6 取代。 x。 如需新的 NDIS 驅動程式開發,請參閱從 Windows Vista 開始網路驅動程式。 如需移植 NDIS 5 的相關信息。 x 驅動程式至 NDIS 6。 x,請參閱 將 NDIS 5.x 驅動程式移植到 NDIS 6.0

NdisIMNotifyPnPEvent 將即插即用或電源管理事件的通知傳播至過度的驅動程式。

語法

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

參數

[in] MiniportHandle

MiniportInitialize的句柄輸入。 此句柄代表受隨插即用或電源管理事件影響的迷你埠驅動程式,該事件會傳遞至呼叫者的 ProtocolPnPEvent 函式。

[in] NetPnPEvent

NET_PNP_EVENT 結構的指標,描述要向通訊協定驅動程式指示的隨插即用事件或電源管理事件。

傳回值

NdisIMNotifyPnPEvent 可以傳回下列其中一項:

傳回碼 描述
NDIS_STATUS_SUCCESS 過度裝載的驅動程式已成功傳播隨插即用事件。
NDIS_STATUS_FAILURE 過度裝載的驅動程式使傳播的隨插即用事件失敗。

只有在傳播的事件是 NetEventQueryPowerNetEventQueryRemove時,傳回值才會顯著。 對於所有其他傳播的事件,傳回值一律NDIS_STATUS_SUCCESS。

言論

NDIS 中繼驅動程式會在驅動程式的 ProtocolPnPEvent 函式內容中呼叫 NdisIMNotifyPnPEvent,以將隨插即用或電源管理事件的通知傳播至過度的驅動程式。

如果傳播的事件是 NetEventQueryPowerNetEventQueryRemove,中繼驅動程式必須檢查 NdisIMNotifyPnPEvent所傳回的NDIS_STATUS值。 如果傳回的狀態是NDIS_STATUS_SUCCESS,中繼驅動程式應該像往常一樣在內部處理事件,然後從其 ProtocolPnPEvent 函式傳回NDIS_STATUS_SUCCESS。 如果傳回的狀態為NDIS_STATUS_FAILURE,中繼驅動程序應該從其 ProtocolPnPEvent 傳回NDIS_STATUS_FAILURE,而不需進一步處理。

對於所有其他傳播的事件,NdisIMNotifyPnPEvent 一律會傳回NDIS_STATUS_SUCCESS。 在這種情況下,中繼驅動程式的 ProtocolPnPEvent 函式應該傳播 NdisIMNotifyPnPEvent所傳回的NDIS_STATUS。

中繼驅動程式如何處理其 ProtocolPnPEvent 函式所接收的 NetEventSetPower,取決於指定的裝置電源狀態。 如果指定的裝置電源狀態是 NdisDeviceStateD0,中繼驅動程式應該像往常一樣在內部處理事件,然後呼叫 NdisIMNotifyPnPEvent。 針對任何其他指定的裝置電源狀態,中繼驅動程式應該先呼叫 NdisIMNotifyPnPEvent,然後像往常一樣在內部處理事件。

中繼驅動程式應該呼叫 NdisIMNotifyPnPEvent,以傳播 NetEventReconfigureNetEventBindListNetEventReconfigureNetEventBindList 會以非NULLProtocolBindingContext表示。 如果 NetEventReconfigureNetEventBindListNULLProtocolBindingContext上指出,中繼驅動程式不應該呼叫 NdisIMNotifyPnPEvent 來傳播事件。

如果中繼驅動程序處理 NetEventReconfigureNetEventBindList,它應該驗證與事件相關聯的任何數據。 (如需這類數據的詳細資訊,請參閱通訊協定驅動程式NET_PNP_EVENT。

Windows XP 和更新版本提供 NdisIMNotifyPnPEvent 的系統支援。

  • 目標平臺:通用
  • 版本:Windows Vista 中不支援 NDIS 6.0 驅動程式。 請改用 NdisMNetPnPEvent。 支援 Windows Vista 和 Windows XP 中的 NDIS 5.1 驅動程式。

要求

要求 價值
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL PASSIVE_LEVEL

另請參閱