OID_SWITCH_PORT_ARRAY
Hyper-V 拡張可能スイッチ拡張機能は、配列を取得する OID_SWITCH_PORT_ARRAY のオブジェクト識別子 (OID) クエリ要求を発行します。 配列内の各要素は、拡張可能スイッチ ポートの構成パラメーターを指定します。
OID クエリ要求が正常に完了した場合、 NDIS_OID_REQUEST 構造体の InformationBuffer メンバーにはバッファーへのポインターが含まれます。 このバッファーには、次のデータが含まれています:
配列内の要素の数を定義する NDIS_SWITCH_PORT_ARRAY 構造体。
NDIS_SWITCH_PORT_PARAMETERS 構造体の配列。 これらの各構造体には、拡張可能スイッチのポートに関する情報が含まれています。
注 拡張可能スイッチにポートが作成されていない場合、ドライバーは、 NDIS_SWITCH_PORT_ARRAY 構造体の NumElements メンバーを 0 に設定し、 NDIS_SWITCH_PORT_PARAMETERS 構造体は返されません。
解説
OID_SWITCH_PORT_ARRAY OID は、Hyper-V 拡張可能スイッチがアクティブ化を完了したときにのみ発行する必要があります。 詳細については、 Hyper-V 拡張可能スイッチ構成のクエリ を参照してください。
返された NDIS_SWITCH_NIC_PARAMETERS 構造体を拡張機能が処理する場合、 PortName などの NDIS_SWITCH_PORT_PARAMETERS 構造体の文字列メンバーが null で終わるとは想定しないでください。 これらの文字列メンバーのデータタイプは、 IF_COUNTED_STRING 構造体によってタイプ定義されます。 ドライバーは、この構造体の Length メンバーの値から文字列の長さを決定する必要があります。
注 文字列が null で終わる場合、 Length メンバーに終端の null 文字を含めてはなりません。
状態コードを返します
拡張可能スイッチの下位ミニポート エッジは、OID_SWITCH_PORT_ARRAY の OID クエリ要求を完了し、次のいずれかの状態コードを返します。
状態コード | 説明 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求は正常に完了しました。 |
NDIS_STATUS_INVALID_LENGTH |
情報バッファの長さは、 NDIS_SWITCH_PORT_ARRAY とその NDIS_SWITCH_PORT_PARAMETERS 要素の配列を返すには短すぎます。 拡張可能スイッチの下位ミニポート エッジは、 NDIS_OID_REQUEST 構造体の DATA.QUERY_INFORMATION.BytesNeeded メンバーに必要最小限のバッファーを設定します。 |
NDIS_STATUS_FAILURE |
その他の理由で要求に失敗しました。 |
要件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダー |
Ntddndis.h (Ndis.h を含む) |