OID_SWITCH_PROPERTY_ADD
Hyper-V 拡張可能スイッチのプロトコル エッジは、スイッチ ポリシー プロパティの追加について拡張可能スイッチ拡張機能に通知するOID_SWITCH_PROPERTY_ADD のオブジェクト識別子 (OID) セット要求を発行します。
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、バッファーへのポインターが含まれています。 このバッファーには、次のデータが含まれています:
拡張可能スイッチ ポリシーの識別と種類を指定する NDIS_SWITCH_PROPERTY_PARAMETERS 構造体。
拡張可能スイッチ ポリシーのパラメーターを含むプロパティ バッファー。 プロパティ バッファーには、 NDIS_SWITCH_PROPERTY_PARAMETERS 構造体の PropertyType メンバーに基づく構造体が含まれています。
注 Windows Server 2012 以降では、 PropertyType メンバーを NdisSwitchPropertyTypeCustom に設定し、プロパティ バッファーに NDIS_SWITCH_PROPERTY_CUSTOM 構造体を含める必要があります。
解説
転送拡張機能は、OID_SWITCH_PROPERTY_ADD の OID セット要求を処理できます。 他のすべての種類の拡張機能は、拡張可能スイッチ ドライバー スタック内の次の拡張機能に OID 要求を転送する NdisFOidRequest を呼び出す必要があります。
拡張機能は、OID 要求の NDIS_STATUS_DATA_NOT_ACCEPTED を返すことによって、スイッチ プロパティの追加を拒否できます。 例えば、拡張機能が更新されたポリシーをスイッチに適用するリソースを割り当てることができない場合は、追加要求を拒否する必要があります。
注 拡張機能が他の NDIS_STATUS_Xxx エラーコードを返す場合、作成通知も拒否されます。 ただし、NDIS_STATUS_RESOURCES の返しなど、一時的なシナリオの状態コードを返すと、作成通知が再試行される可能性があります。
拡張機能が OID 要求を拒否しない場合は、要求が完了したときに状態を監視する必要があります。 拡張機能は、OID 要求が拡張可能スイッチ制御パスの基になる拡張機能によって拒否されたか、拡張可能スイッチ インターフェイスによって拒否されたかを判断するためにこれを行う必要があります。
OID_SWITCH_PROPERTY_ADD の OID セット要求を処理する方法のガイドラインについては、 スイッチ ポリシーの管理 を参照してください。
状態コードを返します
転送拡張機能が OID_SWITCH_PROPERTY_ADD の OID セット要求を完了すると、次のいずれかの状態コードを返します。
状態コード | 説明 |
---|---|
NDIS_STATUS_DATA_NOT_ACCEPTED |
拡張機能は、スイッチポリシー追加通知を拒否しました。 |
NDIS_STATUS_FAILURE |
OID 要求は、その他の理由で失敗しました。 |
拡張機能が OID_SWITCH_PROPERTY_ADD の OID セット要求を完了しない場合、要求は拡張可能スイッチの下位ミニポート エッジによって完了します。 ミニポート エッジは、次の状態コードを返します。
状態コード | 説明 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求は正常に完了しました。 |
要件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダー |
Ntddndis.h (Ndis.h を含む) |