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