Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La función dxgkCbLogEtwEvent registra un evento de seguimiento de eventos para Windows (ETW).
Sintaxis
DXGKCB_LOG_ETW_EVENT DxgkcbLogEtwEvent;
void DxgkcbLogEtwEvent(
[in] const LPCGUID EventGuid,
[in] UCHAR Type,
[in] USHORT EventBufferSize,
[in] PVOID EventBuffer
)
{...}
Parámetros
[in] EventGuid
GUID que identifica el evento que se va a registrar.
[in] Type
Constante que especifica el tipo de evento. Estas constantes se definen en Evntrace.h y tienen la forma de EVENT_TRACE_TYPE_XX. de tipo se omite cuando eventGuid es GUID_DXGKDDI_AZURE_TRIAGE_EVENT.
[in] EventBufferSize
Tamaño, en bytes, del búfer al que apunta EventBuffer. Hay una penalización significativa del rendimiento si el búfer es mayor que 256 bytes.
[in] EventBuffer
Puntero a un búfer que contiene la información que se va a registrar. Este parámetro puede ser NULL o un puntero al siguiente tipo de estructura en función del valor de EventGuid.
Valor devuelto
Ninguno
Observaciones
Si el registro de eventos no está habilitado, dxgkCbLogEtwEvent devuelve inmediatamente sin registrar el evento.
Para habilitar o deshabilitar el registro de eventos, llame a la función DxgkDdiControlEtwLogging.
Si EventBufferSize es menor o igual que 256, DxgkCbLogEtwEvent se puede llamar a cualquier IRQL. Si EventBufferSize es mayor que 256, se debe llamar a DxgkCbLogEtwEvent en IRQL = PASSIVE_LEVEL.
Ejemplo: Registro de un evento con el registrador de eventos
En el ejemplo de código siguiente se muestra cómo registrar un evento con el registrador de eventos.
// {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);
}
Registro de eventos de controlador de Azure
A partir de Windows Server 2022 (WDDM 2.9), los controladores de gráficos DxgkCbLogEtwEvent función de devolución de llamada pueden exponer eventos importantes relevantes para la evaluación y supervisión de Azure. A medida que Azure agrega ofertas de vGPU, será más importante tener un mecanismo para exponer eventos importantes que ve el controlador. Especialmente importante para la supervisión y el estado es la exposición de restablecimientos de nivel de función (TDR de VF) y restablecimientos completos de GPU (TDR de todo el adaptador). En el futuro, este marco permitirá al sistema operativo exponer eventos importantes adicionales que pueden implicar comportamientos específicos del controlador que tienen valor de evaluación de prioridades cuando llegan problemas.
Un controlador debe usar el siguiente GUID para notificar eventos específicos de controladores de Azure:
DEFINE_GUID(GUID_DXGKDDI_AZURE_TRIAGE_EVENT,
0x45125F6F, 0x6132, 0x4082, 0xAD, 0x17, 0xED, 0x27, 0xF8, 0xDD, 0x02, 0xF9);
Estos eventos los usan los componentes del kernel de gráficos para alimentar la información de evaluación de prioridades en las canalizaciones de supervisión de Azure estándar que se usan para evaluar los incidentes. Se integran con otros eventos gráficos que también se exponen para crear historiales de eventos de máquina y exponen consultas útiles que se usarán en la supervisión del estado del host y las máquinas virtuales que admite.
Cuando se usa este GUID, EventBuffer apunta a una estructura de DXGKARG_PARTITIONING_EVENT_NOTIFICATION.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
de la plataforma de destino de | Escritorio |
encabezado de | dispmprt.h (incluya Dispmprt.h) |
irQL | Consulte la sección Comentarios. |