NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG
Драйверы минипорта используют индикатор состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG , чтобы сообщить о текущей конфигурации меток времени оборудования сетевой карты и драйвера мини-порта в NDIS и чрезмерной драйверах.
Это состояние указывает, какие возможности меток времени включены или отключены в настоящее время. Сведения о том, как драйвер индикации состояния использует для создания отчетов о возможностях меток времени, см. в разделе NDIS_STATUS_TIMESTAMP_CAPABILITY.
Комментарии
Во время инициализации драйвер мини-порта должен указать текущую конфигурацию метки времени из функции MiniportInitializeEx . Драйвер должен:
Инициализируйте структуру NDIS_TIMESTAMP_CAPABILITIES с текущей конфигурацией меток времени. Драйвер задает элементы структуры NDIS_TIMESTAMP_CAPABILITIES следующим образом:
- Драйвер использует поле TimestampFlags для указания текущей конфигурации метки времени. Для каждого флага в структуре NDIS_TIMESTAMP_CAPABILITY_FLAGS должно быть задано значение TRUE , если соответствующая возможность метки времени включена в данный момент, или FALSE , если это не так.
Примечание
Чтобы определить, какие возможности метки времени включены или отключены в данный момент, минипорт считывает текущие значения ключевых слов, связанных с меткой времени *PtpHardwareTimestamp и *SoftwareTimestamp. Дополнительные сведения об использовании этих ключевых слов и определении возможностей метки времени для включения см. в статье Стандартизированные ключевые слова INF для метки времени пакета NDIS.
Примечание
Если реализация находит аппаратные и программные метки времени, включенные с помощью ключевых слов, мини-порт должен включать только аппаратные метки времени и отключать программные метки времени.
Драйвер должен задать для поля CrossTimestampзначение TRUE , если аппаратные перекрестные метки времени включены в текущей конфигурации, или FALSE , если это не так.
Поле HardwareClockFrequencyHz должно содержать текущую рабочую частоту аппаратных часов сетевой карты.
Поле Тип в поле Заголовок должно иметь значение NDIS_OBJECT_TYPE_DEFAULT , а для параметра Редакция— значение NDIS_TIMESTAMP_CAPABILITIES_REVISION_1.
Создайте NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG индикатор состояния, вызвав NdisMIndicateStatusEx , чтобы сообщить о текущей конфигурации. Поле StatusBuffer структуры NDIS_STATUS_INDICATION должно указывать на инициализированную структуру NDIS_TIMESTAMP_CAPABILITIES .
Драйвер мини-порта должен создать индикатор NDIS_STATUS_TIMESTAMP_CAPABILITY по крайней мере один раз, прежде чем указывать NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG. В противном случае NDIS отклонит указание состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG и не будет указываться на превышение водителей.
Если драйвер мини-порта указывает на изменение аппаратной метки времени сетевой карты с помощью указания состояния NDIS_STATUS_TIMESTAMP_CAPABILITY (например, изменение поля HardwareClockFrequencyHz в структуре NDIS_TIMESTAMP_CAPABILITIES из-за изменения в базовом оборудовании сетевого адаптера), он также должен сообщить о соответствующем изменении в текущей конфигурации с помощью указания состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG .
Драйвер мини-порта также должен создавать индикатор состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG всякий раз, когда обнаруживает изменение в текущей конфигурации меток времени.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 11 |
Минимальная версия сервера | Windows Server 2022 |
Версия NDIS | NDIS 6.82 и более поздних версий |
Заголовок | Ntddndis.h (включая Ndis.h) |
См. также раздел
Возможности создания меток времени отчетов и текущая конфигурация
Стандартизированные ключевые слова INF для метки времени пакета NDIS
NDIS_STATUS_TIMESTAMP_CAPABILITY