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 se produjo un error en las llamadas de función a DxgkDdiAddDevice o DxgkDdiStartDevice.
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 de 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 de 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. |
Comentarios
Esta función se llama en el nivel PASIVO, en cualquier momento entre las llamadas a DxgkDdiAddDevice y DxgkDdiStartDevice, y debe admitir el nivel cero de sincronización. Los datos recopilados no deben contener ninguna 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 DXGK_DI_BLACKSCREEN para la recopilación de datos de caja negra de pantalla negra.
En 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 cuadro negro.
Se recomienda usar pCollectDiagnosticInfo-BucketingString> para calcular los datos de caja negra siempre que sea posible. Si el tamaño del búfer de entrada BufferSizeIn no es suficiente para todos los datos de caja negra, los controladores deben hacer sus propios inconvenientes al dejar los datos menos importantes en la mayoría de los análisis de la causa principal de la pantalla negra.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 1903 |
Encabezado | dispmprt.h |
IRQL | PASSIVE_LEVEL |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de