共用方式為


擷取擴充功能

Hyper-V 可延伸交換器擷取擴充功能會檢查封包流量、物件識別碼 (OID) 要求,以及 NDIS 狀態指示。 這種類型的擴充功能無法修改或卸載封包,或排除封包無法傳遞至可延伸交換器埠。 不過,擷取延伸模組可能會產生封包流量,例如包含延伸模組傳送至主應用程式的流量統計資料的封包。

擷取延伸模組會在輸入資料路徑的開頭和輸出資料路徑結尾叫用。 如需這些資料路徑的詳細資訊,請參閱 Hyper-V 可延伸交換器資料路徑

擷取延伸模組具有下列需求和限制:

  • 擷取延伸模組必須開發為支援可延伸交換器介面的 NDIS 篩選驅動程式。

    如需篩選驅動程式的詳細資訊,請參閱 NDIS 篩選驅動程式

    如需如何撰寫擷取延伸模組的詳細資訊,請參閱 撰寫 Hyper-V 可延伸交換器擴充功能

  • 擷取延伸模組提供與標準 NDIS 監視篩選驅動程式相同的功能。 不過,擷取延伸模組的 INF 檔案必須安裝為修改篩選驅動程式。

    如需修改篩選驅動程式的詳細資訊,請參閱 篩選驅動程式的類型

    如需修改篩選驅動程式之 INF 需求的詳細資訊,請參閱 設定 INF 檔案以修改篩選驅動程式

  • 擷取延伸模組可以監視輸入和輸出可延伸交換器資料路徑上的封包。 不過,這種類型的擴充功能必須一律呼叫 NdisFSendNetBufferLists ,將封包轉送到可延伸交換器驅動程式堆疊中的基礎驅動程式,而不會完成它們。

  • 擷取延伸模組不得修改封包內的資料,也不會將埠目的地新增至封包的頻外 (OOB) 資料。 擴充功能不得豁免將封包傳遞至任何可延伸交換器埠。

  • 擷取延伸模組可能會產生封包。 例如,延伸模組可能會產生封包,以便向遠端監視應用程式報告流量狀況。

    如需依延伸模組產生封包的詳細資訊,請參閱 原始封包流量

    注意 如同其他延伸模組,擷取延伸模組只能產生可延伸交換器輸入資料路徑中的封包流量。

  • 擷取延伸模組可以監視透過可延伸交換器驅動程式堆疊發出的封包、OID 要求和 NDIS 狀態指示。 不過,這種類型的擴充功能必須透過可延伸交換器驅動程式堆疊轉送封包、OID 要求和 NDIS 狀態指示。 延伸模組不得修改其所監視封包、OID 要求或 NDIS 狀態指示內的資料。

  • 副檔名的 INF 檔案中的 FilterClass 值必須設定為 ms_switch_capture。 如需詳細資訊,請參閱 Hyper-V 可延伸交換器擴充功能 INF 需求

  • 任何數目的擷取延伸模組都可以系結至可延伸交換器實例。 根據預設,多個擷取延伸模組會根據安裝時排序。 例如,多個擷取延伸模組會分層在可延伸交換器驅動程式堆疊中,且最近安裝的擴充功能分層于堆疊中的其他擷取延伸模組之上。

    系結至可延伸交換器實例之後,即可重新排序可延伸交換器驅動程式堆疊中擷取延伸模組的分層。 如需詳細資訊,請參閱 重新排序 Hyper-V 可延伸交換器擴充功能