次の方法で共有


カスタム スイッチ機能の状態情報の管理

Hyper-V 拡張可能スイッチ インターフェイスは、次のオブジェクト識別子 (OID) を使用して、拡張可能スイッチのカスタム状態情報をクエリします。 この状態情報は、スイッチ機能の状態情報と呼ばれます。

OID_SWITCH_FEATURE_STATUS_QUERY
この OID メソッド要求は、指定されたスイッチ プロパティのカスタム機能の状態情報を取得するために、拡張可能スイッチのプロトコル エッジによって発行されます。

この OID メソッド要求から正常に戻った後、InformationBuffer メンバー (NDIS_OID_REQUEST 構造体内) にはバッファーへのポインターが含まれます。 このバッファーには、次のデータが含まれています。

  • 返されるカスタム機能の状態情報を指定する NDIS_SWITCH_FEATURE_STATUS_PARAMETERS 構造体。

    注: カスタム機能の状態の場合、FeatureStatusType メンバーは NdisSwitchPropertyTypeCustom に設定されます。

  • 拡張可能スイッチ ポートに割り当てられたカスタム プロパティに関する状態情報を格納する NDIS_SWITCH_FEATURE_STATUS_CUSTOM 構造体。

    拡張可能スイッチのプロトコル エッジは、OID_SWITCH_FEATURE_STATUS_QUERY 要求を発行すると、FeatureStatusCustomBufferLength メンバーと FeatureStatusCustomBufferOffset メンバーを、機能の状態情報を返すために拡張機能が使うことができる InformationBuffer メンバー内の場所に設定します。

拡張可能スイッチ拡張機能は、OID メソッド要求 OID_SWITCH_FEATURE_STATUS_QUERY を受信するときに、次のガイドラインに従う必要があります。

  • 拡張機能は、FeatureStatusId メンバー ( 構造体内) に一致するカスタム拡張可能スイッチ機能の状態を管理する場合、OID 要求を処理する必要があります。

  • 拡張機能は、OID メソッド要求を処理する場合、NDIS_SWITCH_FEATURE_STATUS_PARAMETERS 構造体で指定されたパラメーターと一致する機能の状態情報を返す必要があります。

    機能状態バッファーが小さすぎる場合、拡張機能は、NDIS_STATUS_INVALID_LENGTHで OID 要求を失敗させる必要があります。 拡張機能は、 NDIS_OID_REQUEST 構造体の DATA.SET_INFORMATION.BytesNeeded メンバーを設定する必要があります。

    それ以外の場合、拡張機能は機能の状態情報を返し、NDIS_STATUS_SUCCESS を使用して OID 要求を完了する必要があります。

  • 拡張機能は、カスタム拡張可能スイッチ機能の状態を管理しない場合、NdisFOidRequest を呼び出して、OID 要求を拡張可能スイッチ ドライバー スタックに転送する必要があります。

    OID 要求を転送する方法の詳細については、「NDIS フィルター ドライバーでの OID 要求のフィルターリング」を参照してください。

スイッチ機能の状態情報を定義および登録する方法の詳細については、「カスタム スイッチ機能の状態」を参照してください。