NDIS_SWITCH_REFERENCE_SWITCH_PORT コールバック関数 (ndis.h)

ReferenceSwitchPort 関数は、拡張可能スイッチ ポートの Hyper-V 拡張可能スイッチ参照カウンターをインクリメントします。

構文

NDIS_SWITCH_REFERENCE_SWITCH_PORT NdisSwitchReferenceSwitchPort;

NDIS_STATUS NdisSwitchReferenceSwitchPort(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId
)
{...}

パラメーター

[in] NdisSwitchContext

Hyper-V 拡張可能スイッチ拡張機能がアタッチされている拡張可能スイッチ モジュールのハンドルを含むNDIS_SWITCH_CONTEXT値。 拡張機能が NdisFGetOptionalSwitchHandlers を呼び出すと、このハンドルは NdisSwitchContext パラメーターを介して返されます。

[in] SwitchPortId

拡張可能スイッチ参照カウンターがインクリメントされる拡張可能スイッチ ポートの一意識別子を含むNDIS_SWITCH_PORT_ID値。

メモSwitchPortId パラメーターは、作成された状態のポートの識別子を指定する必要があります。 破棄状態または削除済み状態のポートの識別子を指定できません。 ポートの状態の詳細については、「 Hyper-V 拡張可能スイッチのポートとネットワーク アダプターの状態」を参照してください。
 

戻り値

呼び出しが成功した場合、関数は NDIS_STATUS_SUCCESSを返します。 それ以外の場合は、Ndis.h で定義されているNDIS_STATUS_Xxx エラー コードを返します。

注釈

拡張可能スイッチ拡張機能は ReferenceSwitchPort を呼び出して、拡張可能スイッチ ポートの参照カウンターをインクリメントします。 参照カウンターには 0 以外の値が設定されていますが、拡張可能スイッチのプロトコル エッジは、拡張可能スイッチ ポートを削除するために 、OID_SWITCH_PORT_DELETE のオブジェクト識別子 (OID) セット要求を発行しません。

拡張機能が ReferenceSwitchPort を呼び出した後、参照カウンターをデクリメントするには、 DereferenceSwitchPort を呼び出す必要があります。

拡張機能は、ポートがポート作成状態に達した後、ReferenceSwitchPort を呼び出します。 接続がポートの破棄またはポート作成されていない状態に達した後、拡張機能は ReferenceSwitchPort を呼び出してはなりません。 これらの状態の詳細については、「 Hyper-V 拡張可能スイッチのポートとネットワーク アダプターの状態」を参照してください。

拡張機能は、ポートがアクティブな状態である必要がある操作を実行するときに ReferenceSwitchPort を呼び出す必要があります。 たとえば、拡張機能は、OID_SWITCH_PORT_PROPERTY_ENUMの OID メソッド要求を発行する前に ReferenceSwitchPort を呼び出す必要があります。

拡張機能は、ポートがポート作成状態に達した後、ReferenceSwitchPort を呼び出します。 拡張機能は、ポートがポートの破棄状態に達した後に ReferenceSwitchNic 呼び出す必要があります。 これらの状態の詳細については、「 Hyper-V 拡張可能スイッチのポートとネットワーク アダプターの状態」を参照してください。

メモ 拡張機能が ReferenceSwitchPort を呼び出すときに、OID 要求を処理するコードと呼び出しを同期する必要はありません。 その結果、拡張スイッチのプロトコル エッジが OID_SWITCH_PORT_TEARDOWN の OID 要求を発行している間に、拡張機能が ReferenceSwitchPort を呼び出す可能性 があります。 ただし、 ReferenceSwitchPort の呼び出しがNDIS_STATUS_SUCCESSで完了した場合でも、拡張機能は 、OID_SWITCH_PORT_TEARDOWN OID 要求を処理した後も、OID_SWITCH_PORT_PROPERTY_ENUM OID 要求を発行できます。
 

要件

要件
サポートされている最小のクライアント NDIS 6.30 以降でサポートされています。
対象プラットフォーム デスクトップ
Header ndis.h (Ndis.h を含む)
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

DereferenceSwitchNic

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN