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 會呼叫驅動程式的 ProtocolSendNetBufferListsComplete 函式,該驅動程式會呼叫 NdisSendNetBufferLists 函式來起始傳送要求。
迷你埠驅動程式可以依任何順序完成傳送要求。 例如,迷你埠驅動程式可以從多個 MiniportSendNetBufferLists 串連NET_BUFFER_LIST結構清單, 呼叫或從 MiniportSendNetBufferLists 呼叫分割清單。 不過,迷你埠驅動程式不得修改與NET_BUFFER_LIST結構相關聯的 NET_BUFFER 結構清單。
迷你埠驅動程式必須在 Status 成員中設定下列其中一個狀態代碼,NetBufferLists 參數所指定的每個NET_BUFFER_LIST結構成員:
結構 | 描述 |
---|---|
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 和更新版本支援。 |
目標平臺 | 普遍 |
標頭 | ndis.h (包括 Ndis.h) |
連結庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_SendRcv_Function(ndis)、NdisTimedDataHang、NdisTimedDataSend |