функция обратного вызова DXGKDDI_COLLECTDIAGNOSTICINFO (dispmprt.h)
Подпрограмма обратного вызова DxgkDdiCollectDiagnosticInfo собирает сведения о частном драйвере по причинам, указанным в DXGK_DIAGNOSTICINFO_TYPE.
В Windows 10 версии 1903 драйвер будет вызываться для сбора личных сведений в случае сбоя вызова функции DxgkDdiAdddevice или DxgkDdiStartDevice.
Синтаксис
DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;
NTSTATUS DxgkddiCollectdiagnosticinfo(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}
Параметры
[in] PhysicalDeviceObject
Указатель на объект физического устройства (PDO), идентифицирующий видеоадаптер.
[in, out] pCollectDiagnosticInfo
Указатель на структуру DXGKARG_COLLECTDIAGNOSTICINFO , описывающую сведения, собранные драйвером.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если конфиденциальные данные были успешно собраны. В противном случае возвращается код ошибки, например один из следующих.
Код ошибки | Значение |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | В драйвере произошла общая ошибка SW. |
STATUS_ACCESS_DENIED | Оборудование в настоящее время используется другими потоками, и этот DDI не может получить доступ к нему. |
STATUS_DEVICE_HARDWARE_ERROR | Произошла общая ошибка HW. |
STATUS_DEVICE_POWERED_OFF | Устройство отключено. |
Комментарии
Эта функция вызывается на уровне PASSIVE в любое время между вызовами DxgkDdiAddDevice и DxgkDdiStartDevice и должна поддерживать нулевой уровень синхронизации. Собранные данные не должны содержать каких-либо личных сведений о пользователе.
Драйверы WDDM 2.7 и более поздних версий необходимы для поддержки типа перечисления DXGK_DI_BLACKSCREEN DXGK_DIAGNOSTICINFO_TYPE для сбора данных черного экрана.
В сценариях с черным экраном ОС сначала собирает данные о белом поле из драйвера, вызывая DxgkDdiGetDisplayStateNonIntrusive и DxgkDdiGetDisplayStateIntrusive , прежде чем вызывать этот DDI для сбора сведений о черном ящике.
Рекомендуется использовать pCollectDiagnosticInfo-BucketingString> Для сегментирования данных черного ящика, где это возможно. Если размер входного буфера BufferSizeIn недостаточную для всех данных черного ящика, драйверы должны сделать свои собственные компромиссы в том, чтобы исключить данные, которые являются наименее важными в большинстве случаев анализа первопричин черного экрана.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1903 |
Верхняя часть | dispmprt.h |
IRQL | PASSIVE_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по