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_PORT_PARAMETERS 構造体を拡張機能が処理する場合、PortNameなど、NDIS_SWITCH_PORT_PARAMETERS 構造体のさまざまな文字列メンバーが null で終了することを想定しないでください。 これらの文字列メンバーのデータ型は、IF_COUNTED_STRING 構造体によって型定義されます。 ドライバーは、この構造体の 長 メンバーの値から文字列の長さを決定する必要があります。
メモ 文字列が null で終わる場合、Length メンバーには終端の null 文字を含めてはなりません。
戻り値の状態コード
拡張可能スイッチの基になるミニポート エッジは、OID_SWITCH_PORT_ARRAYの OID クエリ要求を完了し、次のいずれかの状態コードを返します。
状態コード | 形容 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求が正常に完了しました。 |
NDIS_STATUS_INVALID_LENGTH |
情報バッファーの長さが小さすぎて、NDIS_SWITCH_PORT_ARRAY とその NDIS_SWITCH_PORT_PARAMETERS 要素の配列が返されます。 拡張可能スイッチの基になるミニポート エッジは、DATA を設定します。QUERY_INFORMATION。BytesNeededNDIS_OID_REQUEST 構造体のメンバーを、必要な最小バッファー サイズに設定します。 |
NDIS_STATUS_FAILURE |
その他の理由で要求が失敗しました。 |
必要条件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダ |
Ntddndis.h (Ndis.h を含む) |
関連項目
Hyper-V 拡張可能スイッチ構成 のクエリの