共用方式為


NET_BUFFER資料封裝

資料封裝在 NDIS 6.0 中重新設計。 以 NDIS_PACKET 結構為基礎的傳送和接收架構已取代為以 NET_BUFFERNET_BUFFER_LIST 結構為基礎的架構。 NET_BUFFER 結構相當於NDIS_PACKET結構的功能。 NET_BUFFER 結構會針對網路資料指定緩衝區 (MDL 鏈結) ,以及 NDIS、通訊協定驅動程式和迷你埠驅動程式的保留空間。 NET_BUFFER結構可以連結在NET_BUFFER_LIST結構所描述的清單中。 NET_BUFFER_LIST 結構也提供適用于清單中所有NET_BUFFER結構之非頻外 (OOB) 資料的儲存體。

Microsoft 新一代網路驅動程式堆疊中的所有元件,包括 TCP/IP 傳輸和 Winsock,都會使用NET_BUFFER資料封裝。 整個驅動程式堆疊中的統一資料封裝不需要重新封裝資料、簡化資料處理,並減少函式呼叫數目。

為了容納使用 NDIS_PACKET 結構的較舊驅動程式,NDIS 6.0 會將NDIS_PACKET結構轉譯為NET_BUFFER結構,反之亦然。 此翻譯對 NDIS 驅動程式而言是透明的。

NDIS 會將驅動程式的資料回填需求傳播至較高層級的驅動程式。 配置傳送資料的NET_BUFFER和NET_BUFFER_LIST結構時,較高層級的驅動程式會配置足夠的資料空間,以容納堆疊中的所有較低層級驅動程式。 因此,較低層級的驅動程式不需要配置額外的緩衝區空間來容納圖層特定的標頭。 相反地,他們可以針對此目的使用預先配置的回填空間。

如需NET_BUFFER架構的詳細資訊,請參閱 NET_BUFFER架構