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

ReferenceSwitchNic 関数は、拡張可能スイッチ ポートに接続されているネットワーク アダプターの Hyper-V 拡張可能スイッチ参照カウンターをインクリメントします。

構文

NDIS_SWITCH_REFERENCE_SWITCH_NIC NdisSwitchReferenceSwitchNic;

NDIS_STATUS NdisSwitchReferenceSwitchNic(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId,
  [in] NDIS_SWITCH_NIC_INDEX SwitchNicIndex
)
{...}

パラメーター

[in] NdisSwitchContext

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

[in] SwitchPortId

仮想ネットワーク アダプターが接続されている拡張可能スイッチ ポートの一意識別子を含むNDIS_SWITCH_PORT_ID値。

[in] SwitchNicIndex

拡張可能スイッチ参照カウンターをインクリメントする仮想ネットワーク アダプターのインデックスを指定するNDIS_SWITCH_NIC_INDEX値。

NDIS_SWITCH_NIC_INDEX値の詳細については、「 ネットワーク アダプターのインデックス値」を参照してください。

メモ このパラメーターは、接続状態のネットワーク アダプターのインデックス値を指定する必要があります。 作成済みまたは切断状態のネットワーク アダプターのインデックス値を指定することはできません。 ネットワーク接続の状態の詳細については、「 Hyper-V 拡張可能スイッチ のポートとネットワーク アダプターの状態」を参照してください。
 

戻り値

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

注釈

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

拡張機能は ReferenceSwitchNic を呼び出した後、 DereferenceSwitchNic を呼び出して拡張可能スイッチ参照カウンターをデクリメントする必要があります。

拡張機能は、次の操作を実行する前に ReferenceSwitchNic を呼び出す必要があります。

メモ 拡張スイッチ データ パス経由でパケットを転送する場合、拡張機能は ReferenceSwitchNic を呼び出してはなりません。 拡張可能スイッチ インターフェイスは、データ パス経由でポートとネットワーク アダプター接続に転送されるパケットの独自の参照カウンターを管理します。
 
この拡張機能は、ネットワーク アダプター接続がネットワーク アダプター接続の作成状態に達した後、ReferenceSwitchNic を呼び出します。 接続がネットワーク アダプターの切断またはネットワーク アダプター削除された状態に達した後、拡張機能は ReferenceSwitchNic を呼び出すことはできません。 これらの状態の詳細については、「 Hyper-V 拡張可能スイッチのポートとネットワーク アダプターの状態」を参照してください。
メモ 拡張機能が ReferenceSwitchNic を呼び出すときに、OID 要求を処理するコードと呼び出しを同期する必要はありません。 その結果、拡張機能で ReferenceSwitchNic を呼び出す一方で、拡張可能スイッチのプロトコル エッジは 、OID_SWITCH_NIC_DISCONNECTの OID 要求を発行できます。 ただし、 ReferenceSwitchNic の呼び出しがNDIS_STATUS_SUCCESSで完了した場合でも、拡張機能は、OID_SWITCH_NIC_DISCONNECT OID 要求 を処理した 後でも、OID 要求OID_SWITCH_NIC_REQUEST転送 したり、状態を示NDIS_STATUS_SWITCH_NIC_STATUSしたりできます。
 

要件

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

こちらもご覧ください

DereferenceSwitchNic

NDIS_STATUS_SWITCH_NIC_STATUS

NdisFGetOptionalSwitchHandlers

OID_SWITCH_NIC_DELETE

OID_SWITCH_NIC_DISCONNECT

OID_SWITCH_NIC_REQUEST