共用方式為


NdisMRegisterMiniportDriver 函式 (ndis.h)

迷你埠驅動程式會呼叫 NdisMRegisterMiniportDriver 函式,以使用 NDIS 註冊 MiniportXxx 進入點作為初始化的第一個步驟。

語法

NDIS_STATUS NdisMRegisterMiniportDriver(
  [in]           PDRIVER_OBJECT                        DriverObject,
  [in]           PUNICODE_STRING                       RegistryPath,
  [in, optional] NDIS_HANDLE                           MiniportDriverContext,
  [in]           PNDIS_MINIPORT_DRIVER_CHARACTERISTICS MiniportDriverCharacteristics,
  [out]          PNDIS_HANDLE                          NdisMiniportDriverHandle
);

參數

[in] DriverObject

迷你埠驅動程式在其 DriverEntry 例程中,在 Argument1 參數中收到的不透明驅動程式對象的指標(請參閱 NDIS Miniport Drivers的 DriverEntry )。

[in] RegistryPath

迷你埠驅動程式在其 DriverEntry 例程中,於 Argument2 參數收到的不透明登錄路徑指標。

[in, optional] MiniportDriverContext

驅動程式所配置內容區域的句柄,其中驅動程式會維護狀態和組態資訊。

[in] MiniportDriverCharacteristics

的指標 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 呼叫端初始化的結構。

[out] NdisMiniportDriverHandle

呼叫端提供的句柄變數指標。 NDIS 會將句柄寫入這個變數,以唯一識別此驅動程式。 驅動程式必須儲存此句柄,才能用於後續 NdisXxx 函數調用。

傳回值

NdisMRegisterMiniportDriver 會傳回下列其中一個狀態值:

傳回碼 描述
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver 已成功註冊迷你埠驅動程式。

NDIS_STATUS_BAD_CHARACTERISTICS
CharacteristicsLength 參數在 MiniportDriverCharacteristics 結構中指定之 MajorNdisVersion 成員的 NDIS 版本不正確。
NDIS_STATUS_BAD_VERSION
在特性結構中指定的 MajorNdisVersionMinorNdisVersion 無效。
NDIS_STATUS_RESOURCES
資源短缺,可能是記憶體,導致 NDIS 無法註冊呼叫端。
NDIS_STATUS_FAILURE
這是預設的錯誤狀態,當上述任何錯誤都導致註冊失敗時,就會傳回。

言論

NDIS 驅動程式會從其 DriverEntry 例程呼叫 NdisMRegisterMiniportDriver。 如需詳細資訊,請參閱 NDIS 迷你埠驅動程式的 DriverEntry

每個迷你埠驅動程式都會藉由設定特性結構和呼叫 NdisMRegisterMiniportDriver,來導出一組標準 MiniportXxx 函式。 NDIS 會將特性結構複製到 NDIS 內部記憶體。 因此,註冊之後,驅動程式就無法變更其 MiniportXxx 進入點。

若要註冊其虛擬迷你埠介面,NDIS 中繼驅動程式必須呼叫 NdisMRegisterMiniportDriver,並在 MiniportDriverCharacteristics 的 結構中設定NDIS_INTERMEDIATE_DRIVER旗標。 具有 WDM 下邊緣的 NDIS 驅動程式必須呼叫 NdisMRegisterMiniportDriver,並在 MiniportDriverCharacteristics 的結構中設定NDIS_WDM_DRIVER旗標。

驅動程式可以註冊為合併的迷你埠驅動程式和中繼驅動程式。 若要註冊其實體迷你埠驅動程式,迷你埠中繼驅動程式會呼叫 NdisMRegisterMiniportDriver 適當的參數,就如同任何迷你埠驅動程式一樣。 若要註冊其虛擬迷你埠介面,驅動程式會再次呼叫 NdisMRegisterMiniportDriver,但在 MiniportDriverCharacteristics 參數中設定NDIS_INTERMEDIATE_DRIVER旗標。

若要讓迷你埠驅動程式註冊選用服務,NDIS 會在 NdisMRegisterMiniportDriver的內容中呼叫 MiniportSetOptions 函式。

在驅動程式呼叫 NdisMRegisterMiniportDriver之後,驅動程式應該準備好在 DriverEntry 傳回 MiniportDriverCharacteristics 參數中指定的 MiniportInitializeEx 函式。

如果在 NdisMRegisterMiniportDriver 成功傳回之後,DriverEntry 發生錯誤,驅動程式必須呼叫 NdisMDeregisterMiniportDriver 函式,DriverEntry 傳回。 如果 DriverEntry 成功,驅動程式必須從其 MiniportDriverUnload 函式呼叫 NdisMDeregisterMiniportDriver

要求

要求 價值
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平臺 普遍
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 合規性規則 Irql_Miniport_Driver_Function(ndis)

另請參閱

初始化 Miniport Driver

DriverEntry

MiniportDriverUnload

MiniportInitializeEx

MiniportSetOptions

NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriver