次の方法で共有


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

NDIS プロトコル ドライバーは、受信キューの現在のバッチの割り当てが完了したことをミニポート ドライバーに通知するOID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETEのオブジェクト識別子 (OID) メソッドの要求を発行します。

NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、各キューの NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS 構造体が続く NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY 構造体へのポインターが含まれています。 OID メソッド要求から正常に戻った後、NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには同じ構造体の配列へのポインターが含まれており、各 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS 構造体の CompletionStatus メンバーには、各キューの完了状態が含まれます。

備考

OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETEの OID メソッド要求は、NDIS 6.20 以降のミニポート ドライバーでは省略可能です。 仮想マシン キュー (VMQ) インターフェイスをサポートするミニポート ドライバーには必須です。

1 つ以上の受信キューを割り当て、必要に応じて初期フィルターを設定した後、プロトコル ドライバーは、受信キューの現在のバッチの割り当てが完了したことをミニポート ドライバーに通知するために、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

基になるドライバーが指定した 1 つ以上のパラメーターが無効でした。

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

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS