Поделиться через


функция обратного вызова DXGKDDI_SYSTEM_DISPLAY_WRITE (dispmprt.h)

Вызывается операционной системой для запроса драйвера мини-порта дисплея для записи блока изображения на устройство отображения.

Начиная с Windows 8 операционная система вызывает эту функцию во время операции проверки ошибок после системной stop-ошибки. Операционная система вызывает эту функцию, только если устройство отображения ранее было сброшено с помощью вызова DxgkDdiSystemDisplayEnable.

Синтаксис

DXGKDDI_SYSTEM_DISPLAY_WRITE DxgkddiSystemDisplayWrite;

void DxgkddiSystemDisplayWrite(
  [in] PVOID MiniportDeviceContext,
  [in] PVOID Source,
  [in] UINT SourceWidth,
  [in] UINT SourceHeight,
  [in] UINT SourceStride,
  [in] UINT PositionX,
  [in] UINT PositionY
)
{...}

Параметры

[in] MiniportDeviceContext

Дескриптор для блока контекста, связанного с видеоадаптером. Функция DxgkDdiAddDevice драйвера мини-порта дисплея ранее предоставляла этот дескриптор подсистеме графического ядра Microsoft DirectX.

[in] Source

Указатель на начальный адрес исходного изображения, записываемого на экран проверки ошибок, в котором отображаются сведения о системной stop-ошибке.

[in] SourceWidth

Значение UINT, указывающее ширину (в единицах пикселей) указанного исходного изображения.

[in] SourceHeight

Значение UINT, указывающее высоту (в единицах пикселей) указанного исходного изображения.

[in] SourceStride

Значение UINT, указывающее количество байтов для каждой строки указанного исходного изображения.

[in] PositionX

Значение UINT, указывающее начальную координату X, в которую должно быть записано указанное исходное изображение на устройстве отображения.

[in] PositionY

Значение UINT, указывающее начальную координату Y, в которую должно быть записано указанное исходное изображение на устройстве отображения.

Возвращаемое значение

None

Remarks

Ограничения исходного образа

Драйвер мини-порта дисплея должен следовать этим рекомендациям при вызове функции DxgkDdiSystemDisplayWrite :
  • Формат цвета исходного изображения всегда находится в формате D3DDDIFMT_R8G8B8 (24 бита на пиксель) или D3DDDIFMT_A8R8G8B8 (32 бит/с) перечисления D3DDDIFORMAT . Драйвер мини-порта дисплея ранее задал режим отображения для включения операций записи в этом формате при вызове dxgkDdiSystemDisplayEnable .
  • Исходное изображение находится в памяти без страниц. Драйвер мини-порта дисплея должен записать это исходное изображение в текущий буфер кадров, начиная с позиций, определенных параметрами PostionX и PositionY .
  • Драйвер мини-порта дисплея должен использовать ЦП для записи блока изображения в буфер кадров. Когда система сталкивается с stop-ошибкой, это могло быть вызвано непрерывным обнаружением времени ожидания и восстановлением (TDR) на устройстве дисплея. В этом случае графический процессор (GPU) может находиться в неизвестном состоянии.

    Дополнительные сведения о TDR см. в разделе Обнаружение и восстановление времени ожидания (TDR).

Использование нестраничной памяти

Функции режима ядра Windows могут быть недоступны во время вызова этой функции.

DxgkDdiSystemDisplayWrite можно вызвать в любом irQL, поэтому он должен находиться в непагебельной памяти. DxgkDdiSystemDisplayWrite не должен вызывать код, который находится в памяти, доступной для страниц, и не должен управлять данными, которые находится в доступной для страниц памяти.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Персональный компьютер
Верхняя часть dispmprt.h
IRQL Любой уровень (см. раздел "Примечания")

См. также раздел

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable