共用方式為


NdisAllocateReassembledNetBufferList 函式 (ndis/nblapi.h)

呼叫 NdisAllocateReassembledNetBufferList 函式來重新組合片段 NET_BUFFER_LIST 結構。

語法

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateReassembledNetBufferList(
                 NET_BUFFER_LIST *FragmentNetBufferList,
  [in, optional] NDIS_HANDLE     NetBufferAndNetBufferListPoolHandle,
  [in]           ULONG           StartOffset,
  [in]           ULONG           DataOffsetDelta,
  [in]           ULONG           DataBackFill,
  [in]           ULONG           AllocateReassembleFlags
);

參數

FragmentNetBufferList

要重新組合之NET_BUFFER_LIST結構的指標。

[in, optional] NetBufferAndNetBufferListPoolHandle

先前從傳回的NET_BUFFER_LIST結構集區句柄 NdisAllocateNetBufferListPool 函式。 NET_BUFFER_LIST_POOL_PARAMETERS結構的 fAllocateNetBuffer 成員,呼叫端傳遞至 NdisAllocateNetBufferListPool 的 fAllocateNetBuffer 成員必須設定為 TRUE且 DataSize 成員設定為零。 如果此參數為 NULL,NDIS 會使用內部集區。

[in] StartOffset

要在每個來源開頭略過的數據量 NET_BUFFER 結構。 這個數量除了NET_BUFFER 結構之 DataOffset 成員中指定的值之外。

[in] DataOffsetDelta

在重新組譯NET_BUFFER結構中加入的 已使用數據空間 位元元組數目。

[in] DataBackFill

如果需要配置未使用的數據空間 (回填空間) ,此參數除了要配置的 DataOffsetDelta 之外,還會指定未使用之數據空間的位元元組數目。

[in] AllocateReassembleFlags

可與 OR 作業結合的 NDIS 旗標。 將此參數設定為零。 此函式目前沒有定義旗標。

傳回值

如果重新編譯作業成功, NdisAllocateReassembledNetBufferList 會傳回重新組譯NET_BUFFER_LIST結構。 如果作業失敗,則會傳回 NULL

備註

NdisAllocateReassembledNetBufferList 會配置、初始化及傳回新的 NET_BUFFER_LIST 結構,其中包含一個 NET_BUFFER 結構和一個 MDL 鏈結。 新的NET_BUFFER_LIST結構描述與驅動程式在 FragmentedNetBufferList 上傳遞的片段來源NET_BUFFER_LIST結構相同的數據。 略過每個片段NET_BUFFER結構中 StartOffset 中指定的位元元組數目之後,NDIS 會將每個片段NET_BUFFER結構的其餘數據串連成一個重新組譯NET_BUFFER結構。 重新組譯NET_BUFFER_LIST結構不包含初始 NET_BUFFER_LIST_CONTEXT 結構。

呼叫 NdisFreeReassembledNetBufferList 函式可釋放重新組譯NET_BUFFER_LIST結構,以及所有相關聯的NET_BUFFER結構和 MDL 鏈結。

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平台 Universal
標頭 ndis/nblapi.h (include ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_NetBuffer_Function (ndis) 、NdisAllocateReassembledNetBufferList (ndis) 、NdisAllocateReassembledNetBufferList_InitFail (ndis)

另請參閱

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList