NdisMSendNetBufferListsComplete 函式 (ndis.h)

迷你埠驅動程式會呼叫 NdisMSendNetBufferListsComplete 函式,將 NET_BUFFER_LIST 結構的連結清單傳回至過度配置驅動程式,並傳回傳送要求的最終狀態。

語法

void NdisMSendNetBufferListsComplete(
  [in] NDIS_HANDLE      MiniportAdapterHandle,
       PNET_BUFFER_LIST NetBufferList,
  [in] ULONG            SendCompleteFlags
);

參數

[in] MiniportAdapterHandle

NDIS 傳遞至 MiniportInitializeEx 函式的迷你埠句柄。

NetBufferList

NET_BUFFER_LIST 結構連結清單的指標。 迷你埠驅動程式在先前對 MiniportSendNetBufferLists 函式的呼叫中收到NET_BUFFER_LIST結構。

[in] SendCompleteFlags

可與 OR 作業結合的 NDIS 旗標。 若要清除所有旗標,請將此成員設定為零。 此函式支援NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL旗標;如果已設定,則表示目前的 IRQL DISPATCH_LEVEL。 如需此旗標的詳細資訊,請參閱 分派 IRQL 追蹤

傳回值

備註

迷你埠驅動程式會呼叫 NdisMSendNetBufferListsComplete 來完成傳送 NDIS 對驅動程式 的 MiniportSendNetBufferLists 函式提出的要求。 迷你埠驅動程式會指定與已完成傳送要求相關聯的 NET_BUFFER_LIST 結構連結清單。 當傳送要求的狀態擱置時,迷你埠驅動程式會保留NET_BUFFER_LIST結構的擁有權,以及與NET_BUFFER_LIST結構相關聯的所有通訊協定配置資源。

迷你埠驅動程式呼叫 NdisMSendNetBufferListsComplete 之後,NDIS 會呼叫 NdisSendNetBufferListsComplete 驅動程序的 ProtocolSendNetBufferListsComplete 函式,以起始傳送要求。

迷你埠驅動程式可以依任何順序完成傳送要求。 例如,迷你埠驅動程式可以從多個 MiniportSendNetBufferLists 呼叫串連NET_BUFFER_LIST結構清單,或從 MiniportSendNetBufferLists 呼叫分割清單。 不過,迷你埠驅動程式不得修改與NET_BUFFER_LIST結構相關聯的 NET_BUFFER 結構清單。

迷你埠驅動程序必須在 NetBufferLists 參數所指定之每個NET_BUFFER_LIST結構的 Status 成員中設定下列其中一個狀態代碼:

結構 Description
NDIS_STATUS_SUCCESS NET_BUFFER_LIST結構和相關NET_BUFFER結構描述的所有網路數據都已成功處理傳輸。 例如,迷你埠驅動程式會將數據複製到佇列或數據已經傳輸。
NDIS_STATUS_INVALID_LENGTH 與此NET_BUFFER_LIST結構相關聯的某些NET_BUFFER結構中的數據大小對基礎 NIC 而言太大。
NDIS_STATUS_RESOURCES 此NET_BUFFER_LIST結構的傳送要求因為資源不足而失敗。
NDIS_STATUS_PAUSED 迷你埠配接器處於暫停狀態,如 MiniportPause 函式的參考頁面上所述。
NDIS_STATUS_SEND_ABORTED NDIS 稱為 MiniportCancelSend 函式,以取消此NET_BUFFER_LIST結構的傳送作業。
NDIS_STATUS_RESET_IN_PROGRESS 迷你埠驅動程序因為重設而中止傳送要求。
NDIS_STATUS_FAILURE 迷你埠驅動程序因為先前所述的其他原因而失敗傳送要求。 例如,迷你埠驅動程式可能會因為硬體失敗而失敗傳送要求。

迷你埠驅動程式對 NdisMSendNetBufferListsComplete 的呼叫不一定表示傳送要求的數據已透過網路傳輸。 數據可能會在 NIC 硬體中排入佇列。

規格需求

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

另請參閱

MiniportCancelSend

MiniportInitializeEx

MiniportSendNetBufferLists

NET_BUFFER

NET_BUFFER_LIST

NdisSendNetBufferLists