OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE
NDIS 通訊協定驅動程式會發出物件識別碼 (OID) 方法要求OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE,通知迷你埠驅動程式目前批次的接收佇列已完成配置。
NDIS_OID_REQUEST結構的InformationBuffer成員包含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。NDIS_OID_REQUEST結構中的BytesNeeded成員,以達到所需的最小緩衝區大小。 |
NDIS_STATUS_NOT_SUPPORTED |
迷你埠驅動程式的 NDIS 版本早于 6.20 版。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
規格需求
版本 |
NDIS 6.20 和更新版本支援。 |
標頭 |
Ntddndis.h (包括 Ndis.h) |
另請參閱
NdisMIndicateReceiveNetBufferLists