DXGKDDI_COLLECTDIAGNOSTICINFO funzione di callback (dispmprt.h)

La routine di callback DxgkDdiCollectDiagnosticInfo raccoglie le informazioni sul driver privato per motivi specificati da DXGK_DIAGNOSTICINFO_TYPE.

In Windows 10, versione 1903, il driver verrà chiamato per raccogliere informazioni private se le chiamate di funzione a DxgkDdiAddDevice o DxgkDdiStartDevice non riuscito.

Sintassi

DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;

NTSTATUS DxgkddiCollectdiagnosticinfo(
  [in]      IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
  [in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}

Parametri

[in] PhysicalDeviceObject

Puntatore a un oggetto dispositivo fisico (PDO) che identifica una scheda di visualizzazione.

[in, out] pCollectDiagnosticInfo

Puntatore a una struttura DXGKARG_COLLECTDIAGNOSTICINFO che descrive le informazioni raccolte dal driver.

Valore restituito

Restituisce STATUS_SUCCESS se le informazioni sui dati privati sono state raccolte correttamente. In caso contrario, restituisce un codice di errore, ad esempio uno dei seguenti.

Codice errore Significato
STATUS_DRIVER_INTERNAL_ERROR Si è verificato un errore SW generico all'interno del driver.
STATUS_ACCESS_DENIED L'hardware è attualmente in uso da altri thread e questo DDI non può ottenere l'accesso.
STATUS_DEVICE_HARDWARE_ERROR Si è verificato un errore HW generico.
STATUS_DEVICE_POWERED_OFF Il dispositivo è spento.

Osservazioni

Questa funzione viene chiamata a livello PASSIVE, in qualsiasi momento tra le chiamate a DxgkDdiAddDevice e DxgkDdiStartDevicee deve supportare il livello zero di sincronizzazione. I dati raccolti non devono contenere informazioni sull'utente privato.

I driver WDDM 2.7 e versioni successive sono necessari per supportare il tipo di enumerazione DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE per la raccolta di dati black box dello schermo nero.

Per gli scenari di schermata nera, il sistema operativo raccoglierà prima i dati della casella bianca dal driver chiamando DxgkDdiGetDisplayStateNonIntrusive e DxgkDdiGetDisplayStateIntrusive prima di chiamare questa DDI per raccogliere informazioni sulla casella nera.

È consigliabile usare pCollectDiagnosticInfo->BucketingString per suddividere in bucket i dati della scatola nera, se possibile. Se le dimensioni dell'BufferSizeIn buffer di input non sono sufficienti per tutti i dati black box, i driver devono fare i propri compromessi per escludere i dati meno importanti nella maggior parte dell'analisi della causa radice dello schermo nero.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 1903
intestazione dispmprt.h
IRQL PASSIVE_LEVEL

Vedere anche

DXGKARG_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiStartDevice