DXGKDDI_COLLECTDIAGNOSTICINFO função de retorno de chamada (dispmprt.h)
A rotina de retorno de chamada DxgkDdiCollectDiagnosticInfo coleta as informações do driver privado por motivos especificados por DXGK_DIAGNOSTICINFO_TYPE.
No Windows 10, versão 1903, o driver será chamado para coletar informações privadas se a função chamar DxgkDdiAddDevice ou DxgkDdiStartDevice falha.
Sintaxe
DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;
NTSTATUS DxgkddiCollectdiagnosticinfo(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}
Parâmetros
[in] PhysicalDeviceObject
Um ponteiro para um PDO (objeto de dispositivo físico) que identifica um adaptador de exibição.
[in, out] pCollectDiagnosticInfo
Um ponteiro para uma estrutura de DXGKARG_COLLECTDIAGNOSTICINFO que descreve as informações coletadas pelo driver.
Valor de retorno
Retorna STATUS_SUCCESS se as informações de dados privados foram coletadas com êxito. Caso contrário, ele retornará um código de erro, como um dos seguintes.
Código de erro | Significado |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | Um erro SW genérico ocorreu dentro do driver. |
STATUS_ACCESS_DENIED | No momento, o hardware está sendo usado por outros threads e essa DDI não pode ter acesso a ele. |
STATUS_DEVICE_HARDWARE_ERROR | Ocorreu um erro de HW genérico. |
STATUS_DEVICE_POWERED_OFF | O dispositivo está desligado. |
Observações
Essa função é chamada no nível PASSIVE, a qualquer momento entre as chamadas para DxgkDdiAddDevice e DxgkDdiStartDevicee deve dar suporte sincronização zero. Os dados coletados não devem conter informações privadas do usuário.
Os drivers WDDM 2.7 e posteriores são necessários para dar suporte ao tipo de enumeração DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE para a coleta de dados da caixa preta de tela preta.
Para cenários de tela preta, o sistema operacional primeiro coletará os dados da caixa branca do driver chamando DxgkDdiGetDisplayStateNonIntrusive e DxgkDdiGetDisplayStateIntrusive antes de chamar essa DDI para coletar informações da caixa preta.
É recomendável usar pCollectDiagnosticInfo->BucketingString para bucketizar os dados da caixa preta sempre que possível. Se o tamanho do bufferSizeIn buffer de entrada não for suficiente para todos os dados da caixa preta, os drivers deverão fazer suas próprias compensações ao deixar de fora os dados que são menos importantes na análise da causa raiz da tela preta.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10, versão 1903 |
cabeçalho | dispmprt.h |
IRQL | PASSIVE_LEVEL |