共用方式為


將中繼驅動程式註冊為 Miniport 驅動程式

中繼驅動程式會呼叫 NdisMRegisterMiniportDriver 來匯出其 MiniportXxx 函式。 當驅動程式呼叫NdisIMInitializeDeviceInstanceEx時,中繼驅動程式必須保留NdisMiniportDriver所傳回的NdisMiniportDriverHandle

中繼驅動程式必須:

  1. 使用NdisZeroMemory,以零初始化NDIS_MINIPORT_DRIVER_CHARACTERISTICS結構。

  2. 儲存必要 MiniportXxx 函式的位址,以及驅動程式匯出的任何選擇性 MiniportXxx 函式。

支援 NDIS 6.0 功能的中繼驅動程式必須註冊為 6.0 版迷你埠驅動程式。 如需指定迷你埠驅動程式版本號碼的詳細資訊,請參閱 NDIS_MINIPORT_DRIVER_CHARACTERISTICS

您必須將 MiniportCharacteristics 中的下列專案設定為有效的 MiniportXxx 函式位址,除非函式為選擇性且未匯出。 如果驅動程式未匯出函式,請將位址設定為 Null

SetOptionsHandler
MiniportSetOptions 是選擇性函式。 NDIS 會呼叫 MiniportSetOptions ,讓中繼驅動程式可以指定選擇性的處理常式。

InitializeHandlerEx
NDIS 會呼叫 MiniportInitializeEx 作為中繼驅動程式呼叫 NdisIMInitializeDeviceInstanceEx 的結果,以初始化其虛擬迷你埠的迷你埠配接器作業。

HaltHandlerEx
MiniportHaltEx 是必要函式。 如果中繼驅動程式公開的虛擬迷你埠裝置已停用或停止,或中繼驅動程式呼叫NdisIMDeInitializeDeviceInstance來起始移除,則 NDIS 會呼叫MiniportHaltEx

UnloadHandler
MiniportDriverUnload 是必要的函式。 NDIS 會呼叫 MiniportDriverUnload 以卸載中繼驅動程式。

PauseHandler
MiniportPause 是必要的函式。 NDIS 會呼叫 MiniportPause ,以透過中繼驅動程式的指定虛擬迷你埠停止網路資料的流程。

RestartHandler
MiniportRestart 是必要函式。 NDIS 會呼叫 MiniportRestart ,以透過中繼驅動程式的指定虛擬迷你埠重新開機網路資料的流程。

OidRequestHandler
MiniportOidRequest會從呼叫NdisOidRequest 或 NDIS的超載驅動程式接收OID_XXX要求。 中繼驅動程式可能會處理要求,或將它傳遞至基礎迷你埠驅動程式。

SendNetBufferListsHandler
MiniportSendNetBufferLists 會接收一或多個指標陣列,以 NET_BUFFER_LIST 結構來指定要透過網路傳輸的網路資料。 每個中繼驅動程式都應該提供 MiniportSendNetBufferLists 函 式。 如需詳細資訊,請參閱 透過中繼驅動程式傳輸網路資料

ReturnNetBufferListsHandler
MiniportReturnNetBufferLists會藉由呼叫NdisMIndicateReceiveNetBufferLists來接收先前指示給較高層級驅動程式的傳回NET_BUFFER_LIST結構。 對 NdisMIndicateReceiveNetBufferLists 的呼叫會放棄對較高層級驅動程式所指示之資源的控制。 在較高層級的驅動程式取用每個指示之後,中繼驅動程式會配置NET_BUFFER_LIST結構及其描述的資源會傳回 至 MiniportReturnNetBufferLists 函式。

CancelSendHandler
MiniportCancelSend 是必要的函式。 NDIS 會呼叫 MiniportCancelSend 以取消傳送要求。

CheckForHangHandler
中繼驅動程式不需要MiniportCheckForHangEx,因此應該將此進入點設定為Null

ResetHandlerEx
中繼驅動程式不需要MiniportResetEx,因此應該將此進入點設定為Null

DevicePnPEventNotifyHandler
MiniportDevicePnPEventNotify函式的進入點。

ShutdownHandlerEx
MiniportShutdownEx 是必要函式。 MiniportShutdownEx 會在中繼驅動程式的 DriverEntry 常式執行) 之前,將虛擬迷你埠還原為其初始狀態 (。

CancelOidRequestHandler
MiniportCancelOidRequest 是必要的函式。 NDIS 會呼叫 MiniportCancelOidRequest 來取消 OID 要求。

中繼驅動程式可能需要其他實作特定的 MiniportXxx 函式。 如需註冊選擇性的資訊,請參閱 設定選擇性 Miniport 驅動程式服務

中繼驅動程式永遠不會提供某些迷你埠驅動程式處理常式函式。 原因包括:這類驅動程式不會管理中斷裝置,或這類驅動程式不會在引發 IRQL 時配置緩衝區。

注意 中繼驅動程式必須包含暫停和重新開機功能。 在 NDIS 暫停基礎驅動程式堆疊時,包括暫停和重新開機虛擬迷你埠的支援。 如需暫停和重新開機的詳細資訊,請參閱 驅動程式堆疊管理