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 以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | ndis.h (Ndis.h を含む) |
IRQL | <= DISPATCH_LEVEL |
こちらもご覧ください
AllocateNetBufferListForwardingContext