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の