Захват расширений
Расширяемый коммутатор Hyper-V, который захватывает расширение, проверяет трафик пакетов, запросы идентификаторов объектов (OID) и индикаторы состояния NDIS. Этот тип расширения не может изменять или удалять пакеты, а также исключать пакеты из доставки в расширяемые порты коммутатора. Однако сбор расширений может создавать трафик пакетов, например пакеты, содержащие статистику трафика, отправляемую расширением в ведущее приложение.
Захватываемые расширения вызываются в начале пути данных входящего трафика и в конце пути исходящих данных. Дополнительные сведения об этих путях данных см. в статье Путь к данным расширенного коммутатора Hyper-V.
Расширение записи имеет следующие требования и ограничения.
Расширение записи должно быть разработано как драйвер фильтра NDIS, который поддерживает расширяемый интерфейс коммутатора.
Дополнительные сведения о драйверах фильтров см. в разделе Драйверы фильтра NDIS.
Дополнительные сведения о написании захватываемого расширения см. в разделе Написание расширений расширяемого коммутатора Hyper-V.
Расширение записи предоставляет те же функции, что и стандартный драйвер фильтра мониторинга NDIS. Однако INF-файл для захватываемого расширения должен установить его в качестве драйвера изменяющегося фильтра.
Дополнительные сведения об изменении драйверов фильтров см. в разделе Типы драйверов фильтров.
Дополнительные сведения о требованиях INF для изменения драйверов фильтров см. в статье Настройка INF-файла для драйвера фильтра.
Расширение записи может отслеживать пакеты по пути данных входящего и исходящего коммутатора. Однако этот тип расширения должен всегда вызывать NdisFSendNetBufferLists , чтобы перенаправлять пакеты базовым драйверам в стеке драйверов расширяемого коммутатора и не завершать их.
Расширение записи не должно изменять данные в пакетах и добавлять назначения портов к данным внеполосного (OOB) пакета. Расширение не должно освобождать доставку пакета на любой расширяемый порт коммутатора.
Захватывающее расширение может быть источником пакетов. Например, расширение может создавать пакеты для передачи данных об условиях трафика в приложение удаленного мониторинга.
Дополнительные сведения об источнике пакетов с помощью расширения см. в разделе Исходящий трафик пакетов.
Примечание Как и в случае с другими расширениями, захватываемое расширение может создавать только трафик пакетов в пути входящего трафика расширяемого коммутатора.
Расширение записи может отслеживать пакеты, запросы OID и индикаторы состояния NDIS, выдаваемые через стек драйверов расширяемого коммутатора. Однако этот тип расширения должен пересылать пакеты, запросы OID и индикаторы состояния NDIS через стек драйвера расширяемого коммутатора. Расширение не должно изменять данные в пакетах, запросах OID или индикаторах состояния NDIS, которые он отслеживает.
Значение FilterClass в INF-файле для расширения должно быть равно ms_switch_capture. Дополнительные сведения см. в разделе Требования к INF для расширений расширяемого коммутатора Hyper-V.
Любое количество захватываемых расширений можно привязать к экземпляру расширяемого коммутатора. По умолчанию несколько захватываемых расширений упорядочены в зависимости от того, когда они были установлены. Например, несколько расширений записи размещаются в стеке драйвера расширяемого коммутатора, а последнее установленное расширение — над другими захватываемыми расширениями в стеке.
После привязки к экземпляру расширяемого коммутатора можно переупорядочение расширений записи в стеке драйвера расширяемого коммутатора. Дополнительные сведения см. в статье Изменение порядка расширений коммутаторов Hyper-V.