NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE コールバック関数 (ndis.h)
SetNetBufferListSource 関数は、NET_BUFFER_LIST 構造体で指定されたパケットの Hyper-V 拡張可能スイッチソース ポート識別子とネットワーク アダプター インデックスを設定します。
構文
NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE NdisSwitchSetNetBufferListSource;
NDIS_STATUS NdisSwitchSetNetBufferListSource(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
PNET_BUFFER_LIST NetBufferList,
[in] NDIS_SWITCH_PORT_ID PortId,
[in] NDIS_SWITCH_NIC_INDEX NicIndex
)
{...}
パラメーター
[in] NdisSwitchContext
Hyper-V 拡張可能スイッチ拡張機能がアタッチされている拡張可能スイッチ モジュールのハンドルを含むNDIS_SWITCH_CONTEXT値。 拡張機能が NdisFGetOptionalSwitchHandlers 呼び出すと、このハンドルは、NdisSwitchContext パラメーターを介して返されます。
NetBufferList
1 つのパケットの NET_BUFFER_LIST 構造体へのポインター。
[in] PortId
拡張可能スイッチのソース ポートの一意識別子を指定するNDIS_SWITCH_PORT_ID値。
[in] NicIndex
PortId パラメーターで指定された拡張可能スイッチ ポートに接続されているネットワーク アダプターのインデックスを指定するNDIS_SWITCH_NIC_INDEX値。
NDIS_SWITCH_NIC_INDEX値の詳細については、「ネットワーク アダプターのインデックス値 を参照してください。
戻り値
呼び出しが成功した場合、関数はNDIS_STATUS_SUCCESSを返します。 それ以外の場合は、Ndis.h で定義されているNDIS_STATUS_Xxx エラー コードが返されます。
備考
拡張可能スイッチ拡張機能は、SetNetBufferListSource 関数を呼び出して、パケットの NET_BUFFER_LIST 構造でソース ポート識別子とネットワーク アダプター インデックスを設定します。 拡張機能は、次の種類のパケットに対してこれを行います。
-
送信操作または受信操作用に拡張機能が割り当てた新しいパケット。
注 割り当てられたパケット SetNetBufferListSource を拡張機能が呼び出す前に、AllocateNetBufferListForwardingContext 呼び出す必要があります。
- 拡張機能がフィルター処理していた元のパケットから複製された重複パケット。 拡張機能は、NdisAllocateCloneNetBufferList 呼び出すことによってパケットを複製します。
たとえば、NDIS_SWITCH_DEFAULT_PORT_ID の送信元ポート識別子を持つパケットは信頼され、多くの拡張可能スイッチ ポート ポリシーをバイパスします。 これらのポリシーには、アクセス制御リスト (ACL) とサービス品質 (QoS) が含まれます。 拡張機能でパケットの既定以外のソース ポートが指定されている場合は、そのポートのポリシーをパケットに適用できます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.30 以降でサポートされています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ndis.h (Ndis.h を含む) |
IRQL | <= DISPATCH_LEVEL |
関連項目
AllocateNetBufferListForwardingContext の
NdisAllocateCloneNetBufferList の
NdisFGetOptionalSwitchHandlers の