Поделиться через


NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG

Драйверы минипорта используют индикатор состояния NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG , чтобы сообщить о текущей конфигурации меток времени оборудования сетевой карты и драйвера мини-порта в NDIS и чрезмерной драйверах.

Это состояние указывает, какие возможности меток времени включены или отключены в настоящее время. Сведения о том, как драйвер индикации состояния использует для создания отчетов о возможностях меток времени, см. в разделе NDIS_STATUS_TIMESTAMP_CAPABILITY.

Комментарии

Во время инициализации драйвер мини-порта должен указать текущую конфигурацию метки времени из функции MiniportInitializeEx . Драйвер должен:

  1. Инициализируйте структуру 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.

  2. Создайте 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

NDIS_TIMESTAMP_CAPABILITIES

NDIS_TIMESTAMP_CAPABILITY_FLAGS

MiniportInitializeEx

NdisMIndicateStatusEx

NDIS_STATUS_INDICATION