функция обратного вызова DXGKCB_LOG_ETW_EVENT (dispmprt.h)
Функция DxgkCbLogEtwEvent регистрирует событие трассировки событий Windows (ETW).
Синтаксис
DXGKCB_LOG_ETW_EVENT DxgkcbLogEtwEvent;
void DxgkcbLogEtwEvent(
[in] const LPCGUID EventGuid,
[in] UCHAR Type,
[in] USHORT EventBufferSize,
[in] PVOID EventBuffer
)
{...}
Параметры
[in] EventGuid
Идентификатор GUID, определяющий событие для записи в журнал.
[in] Type
Константа, задающая тип события. Эти константы определены в Evntrace.h и имеют форму EVENT_TRACE_TYPE_XX. Тип игнорируется, если EventGuid GUID_DXGKDDI_AZURE_TRIAGE_EVENT.
[in] EventBufferSize
Размер (в байтах) буфера, на который указывает EventBuffer. Если размер буфера превышает 256 байт, производительность значительно ниже.
[in] EventBuffer
Указатель на буфер, содержащий сведения для записи в журнал. Этот параметр может иметь значение NULL или указатель на следующий тип структуры в зависимости от значения EventGuid.
Возвращаемое значение
None
Remarks
Если ведение журнала событий не включено, DxgkCbLogEtwEvent возвращается немедленно без регистрации события.
Чтобы включить или отключить ведение журнала событий, вызовите функцию DxgkDdiControlEtwLogging .
Если значение EventBufferSize меньше или равно 256, DxgkCbLogEtwEvent можно назвать любым IRQL. Если значение EventBufferSize больше 256, необходимо вызвать DxgkCbLogEtwEvent по адресу IRQL = PASSIVE_LEVEL.
Пример. Ведение журнала события с помощью средства ведения журнала событий
В следующем примере кода показано, как регистрировать событие с помощью средства ведения журнала событий.
// {A7BF27A0-7401-4733-9FED-FDB51067FECC}
DEFINE_GUID(R200_DUMMY_LOGGING,
0xa7bf27a0, 0x7401, 0x4733, 0x9f, 0xed, 0xfd, 0xb5, 0x10, 0x67, 0xfe, 0xcc);
VOID
DummyTrace(
HW_DEVICE_EXTENSION* Adapter
)
{
Adapter->ddiCallback.DxgkCbLogEtwEvent(&R200_DUMMY_LOGGING,
EVENT_TRACE_TYPE_INFO,
0,
NULL);
}
Ведение журнала событий драйвера Azure
Начиная с Windows Server 2022 (WDDM 2.9) функция обратного вызова DxgkCbLogEtwEvent графического драйвера может предоставлять важные события, относящиеся к рассмотрению и мониторингу Azure. По мере того как Azure добавляет предложения виртуальных ЦП, становится более важным механизм для предоставления важных событий, которые видит драйвер. Для мониторинга и работоспособности особенно важно использовать сбросы на уровне функций (TDR VF) и сбросы всего GPU (TDR на уровне адаптера). В будущем эта платформа позволит ОПЕРАЦИОННОй системе предоставлять дополнительные важные события, которые могут включать в себя поведение конкретного драйвера, которое имеет значение рассмотрения при появлении проблем.
Драйвер должен использовать следующий GUID для создания отчетов о конкретных событиях драйвера Azure:
DEFINE_GUID(GUID_DXGKDDI_AZURE_TRIAGE_EVENT,
0x45125F6F, 0x6132, 0x4082, 0xAD, 0x17, 0xED, 0x27, 0xF8, 0xDD, 0x02, 0xF9);
Эти события используются компонентами графического ядра для отправки сведений о рассмотрении в стандартные конвейеры мониторинга Azure, используемые для рассмотрения инцидентов. Они интегрируются с другими графическими событиями, которые также предоставляются для создания журналов событий компьютера и предоставляют полезные запросы для мониторинга работоспособности узла и виртуальных машин, которые он поддерживает.
При использовании этого GUID EventBuffer указывает на структуру DXGKARG_PARTITIONING_EVENT_NOTIFICATION .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Целевая платформа | Персональный компьютер |
Верхняя часть | dispmprt.h (включая Dispmprt.h) |
IRQL | См. раздел "Примечания". |