DXGKDDI_COLLECTDIAGNOSTICINFO función de devolución de llamada (dispmprt.h)
La rutina de devolución de llamada DxgkDdiCollectDiagnosticInfo recopila la información del controlador privado por motivos especificados por DXGK_DIAGNOSTICINFO_TYPE.
En Windows 10, versión 1903, se llamará al controlador para recopilar información privada si la función llama a DxgkDdiAddDevice o DxgkDdiStartDevice error.
Sintaxis
DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;
NTSTATUS DxgkddiCollectdiagnosticinfo(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}
Parámetros
[in] PhysicalDeviceObject
Puntero a un objeto de dispositivo físico (PDO) que identifica un adaptador de pantalla.
[in, out] pCollectDiagnosticInfo
Puntero a una estructura DXGKARG_COLLECTDIAGNOSTICINFO que describe la información recopilada por el controlador.
Valor devuelto
Devuelve STATUS_SUCCESS si la información de datos privados se recopiló correctamente. De lo contrario, devuelve un código de error como uno de los siguientes.
Código de error | Significado |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | Se produjo un error SW genérico dentro del controlador. |
STATUS_ACCESS_DENIED | El hardware está siendo utilizado actualmente por otros subprocesos y este DDI no puede obtener acceso a él. |
STATUS_DEVICE_HARDWARE_ERROR | Se produjo un error de HW genérico. |
STATUS_DEVICE_POWERED_OFF | El dispositivo está apagado. |
Observaciones
Esta función se llama en el nivel PASIVO, en cualquier momento entre las llamadas a DxgkDdiAddDevice y DxgkDdiStartDevicey debe admitir nivel cero de sincronización. Los datos recopilados no deben contener información de usuario privada.
Se requieren controladores WDDM 2.7 y versiones posteriores para admitir el tipo de enumeración DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE para la recopilación de datos de caja negra de pantalla negra.
Para escenarios de pantalla negra, el sistema operativo recopilará primero los datos de caja blanca del controlador llamando a DxgkDdiGetDisplayStateNonIntrusive y DxgkDdiGetDisplayStateIntrusive antes de llamar a esta DDI para recopilar información de caja negra.
Se recomienda usar pCollectDiagnosticInfo->bucketingString para convertir en cubo los datos de caja negra siempre que sea posible. Si el tamaño del BufferSizeIn búfer de entrada no es suficiente para todos los datos de caja negra, los controladores deben hacer sus propias ventajas al salir de los datos que son menos importantes en la mayoría de las causas principales de la pantalla negra.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 10, versión 1903 |
encabezado de |
dispmprt.h |
irQL | PASSIVE_LEVEL |