FILTER_NET_PNP_EVENT回呼函式 (ndis.h)

NDIS 會呼叫篩選驅動程式的 FilterNetPnPEvent 函式,以通知網路 隨插即用 (PnP) 和電源管理事件的驅動程式。

注意 您必須使用 FILTER_NET_PNP_EVENT 類型來宣告函式。 如需詳細資訊,請參閱下列範例一節。
 

語法

FILTER_NET_PNP_EVENT FilterNetPnpEvent;

NDIS_STATUS FilterNetPnpEvent(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNET_PNP_EVENT_NOTIFICATION NetPnPEventNotification
)
{...}

參數

[in] FilterModuleContext

篩選模組之內容區域的句柄。 篩選驅動程式已在 FilterAttach 函式中建立並初始化此內容區域。

[in] NetPnPEventNotification

的指標 NET_PNP_EVENT_NOTIFICATION 結構,其描述向篩選驅動程式指出的 PnP 事件或 Power Management 事件。

傳回值

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

傳回碼 Description
NDIS_STATUS_SUCCESS
驅動程式已成功處理 PnP 事件。
NDIS_STATUS_FAILURE
驅動程式失敗了 PnP 事件。
 

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

備註

FilterNetPnPEvent 是選擇性函式。 如果篩選驅動程式未處理網路 PnP 事件,它可以在呼叫 時,將此函式的進入點設定為 NULL NdisFRegisterFilterDriver 函式。

FilterNetPnPEvent 類似於通訊協定驅動程式的 ProtocolNetPnPEvent 函式。 篩選驅動程式可以將這些通知轉送至過度處理驅動程式,或者可以自行處理它們,而不是轉送這些通知。 若要轉送通知,請呼叫 NdisFNetPnPEvent 函式。 請勿將此函式與混淆 FilterDevicePnPEventNotify 函式 ,可篩選將堆棧導向至基礎驅動程式的通知。

NDIS 會呼叫 FilterNetPnPEvent ,以通知針對基礎 NIC 發出的 PnP 或電源管理事件篩選驅動程式。 NDIS 會呼叫每個篩選驅動程式的 FilterNetPnPEvent 函式過度使用 NIC,然後呼叫每個過度配置通訊協定驅動程式的 ProtocolNetPnPEvent 函式。

當篩選模組插入或從驅動程式堆疊中刪除時,堆疊的特性可能會變更。 NDIS 會將 PnP 事件傳送至所有受影響的通訊協定系結和篩選模組,以通知這些事件有關這項變更。 篩選驅動程式應該適當地處理這類變更。

NDIS 會在 IRQL = PASSIVE_LEVEL呼叫 FilterNetPnPEvent

例子

若要定義 FilterNetPnPEvent 函式,您必須先提供函式宣告,以識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析靜態驅動程序驗證器 (SDV) ,以及其他驗證工具會尋找錯誤,而且這是撰寫 Windows 操作系統驅動程式的需求。

例如,若要定義名為 「 MyNetPnPEvent」 的 FilterNetPnPEvent 函式,請使用 FILTER_NET_PNP_EVENT 類型,如下列程式代碼範例所示:

FILTER_NET_PNP_EVENT MyNetPnPEvent;

然後,實作您的函式,如下所示:

_Use_decl_annotations_
NDIS_STATUS
 MyNetPnPEvent(
    NDIS_HANDLE  FilterModuleContext,
    PNET_PNP_EVENT_NOTIFICATION  NetPnPEvent
    )
  {...}

FILTER_NET_PNP_EVENT函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更精確地識別錯誤,請務必將 Use_decl_annotations 註釋新增至函式定義。 Use_decl_annotations註釋可確保使用頭檔中套用至FILTER_NET_PNP_EVENT函式類型的批註。 如需函式宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式。

如需 Use_decl_annotations的詳細資訊,請參閱 標註函式行為

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平台 Windows
標頭 ndis.h (包括 Ndis.h)
IRQL PASSIVE_LEVEL

另請參閱

FilterAttach

FilterDevicePnPEventNotify

NET_PNP_EVENT_NOTIFICATION

NdisFNetPnPEvent

NdisFRegisterFilterDriver

ProtocolNetPnPEvent