共用方式為


NDIS 通訊協定驅動程序簡介

NDIS 通訊協定驅動程式會在其下邊緣導出一組 ProtocolXxx 函式。 這類通訊協定驅動程式會與 NDIS 通訊,以傳送和接收網路數據。 通訊協定驅動程式會系結至基礎迷你埠驅動程式或中繼驅動程式,以匯出其上邊緣的 MiniportXxx 介面。

注意 中繼驅動程式 (虛擬迷你埠) 的迷你埠驅動程式上邊緣不會管理實體裝置。 基礎迷你埠驅動程式會管理實體裝置。

通訊協定驅動程式一律使用 NDIS 提供的函式來與基礎 NDIS 驅動程式通訊,以傳送和接收網路數據。 例如,具有無連線下邊緣的通訊協定驅動程式(與無連線媒體的基礎驅動程序通訊,例如乙太網路)必須呼叫 NdisSendNetBufferLists ,以將網路數據傳送至基礎 NDIS 驅動程式。 通訊協定驅動程式可以呼叫 NdisOidRequest 來查詢或設定基礎無連線驅動程序支援的 OID。 具有連線導向下邊緣的通訊協定驅動程式(與連接導向媒體的基礎驅動程序通訊,例如ISDN)必須呼叫 NdisCoSendNetBufferLists ,以將網路數據傳送至較低層級的 NDIS 驅動程式。 它也可以呼叫 NdisCoOidRequest 來查詢或設定基礎連線導向驅動程序支援的 OID。

NDIS 也提供一組 NdisXxx 函式,以隱藏基礎作系統的詳細數據。 例如,通訊協定驅動程式可以呼叫 NdisInitializeEvent 來建立事件以進行同步處理, NdisInitializeListHead 建立鏈接清單。 使用 NDIS 版本的這類函式的通訊協定驅動程式在 Microsoft 作業系統上更容易進行移植。 不過,通訊協定驅動程式也可以呼叫核心模式支援例程,例如 IoCreateDevice。 如需詳細資訊,請參閱 Kernel-Mode 支援例程的摘要

通訊協定驅動程式的開發人員應該使用相同的 程式設計考慮 ,這些考慮會套用至其他 NDIS 驅動程式。