NDIS 通訊協定驅動程式發出OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE的物件識別碼 (OID) 方法要求,以通知迷你埠驅動程式目前接收佇列的配置已完成。
InformationBufferNDIS_OID_REQUEST 結構的成員包含 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY 結構的指標,後面接著每個佇列的 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS 結構。 從 OID 方法要求成功傳回之後,NDIS_OID_REQUEST 結構 InformationBuffer 成員包含相同結構的指標,而每個 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS 結構的 CompletionStatus 成員都包含每個佇列的完成狀態。
言論
OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE的 OID 方法要求對於 NDIS 6.20 和更新版本的迷你埠驅動程式而言是選擇性的。 支援虛擬機佇列 (VMQ) 介面的迷你埠驅動程式是必要專案。
配置一或多個接收佇列並選擇性地設定初始篩選之後,通訊協定驅動程式必須發出 OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE 的 OID 方法要求,以通知迷你埠驅動程式目前接收佇列的配置已完成。 這可讓迷你埠驅動程式在多個接收佇列之間平衡硬體資源;如有必要,它可以配置資源,例如接收佇列的共享記憶體。
在迷你埠驅動程式收到OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE要求,且它在佇列上設定篩選條件之後,佇列會處於 [執行中] 狀態。 在此狀態下,迷你埠驅動程式可以呼叫 NdisMIndicateReceiveNetBufferLists來啟動佇列中的封包指示。
傳回狀態代碼
迷你埠驅動程式會針對 OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE 的 OID 方法要求傳回下列其中一個狀態代碼。
| 狀態代碼 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
佇列配置已完成。 信息緩衝區包含已更新的 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY 結構和參數結構,以及佇列配置完成狀態。 |
NDIS_STATUS_PENDING |
要求擱置完成。 最終的狀態代碼和結果會傳遞至呼叫端的 OID 要求完成處理程式。 |
NDIS_STATUS_INVALID_PARAMETER |
提供過度驅動程式的一或多個參數無效。 |
NDIS_STATUS_INVALID_LENGTH |
信息緩衝區太短。 NDIS 會設定 DATA。METHOD_INFORMATION。BytesNeeded 成員 NDIS_OID_REQUEST 結構中所需的緩衝區大小下限。 |
NDIS_STATUS_NOT_SUPPORTED |
迷你埠驅動程式的NDIS版本早於6.20版。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
要求
版本 |
NDIS 6.20 和更新版本支援。 |
頁眉 |
Ntddndis.h (包括 Ndis.h) |
另請參閱
NdisMIndicateReceiveNetBufferLists