Compartir a través de


DXGKDDI_SYSTEM_DISPLAY_WRITE función de devolución de llamada (dispmprt.h)

Lo llama el sistema operativo para solicitar al controlador de minipuerto de pantalla que escriba un bloque de imagen en el dispositivo de visualización.

A partir de Windows 8, el sistema operativo llama a esta función durante una operación de comprobación de errores después de un error de detención del sistema. El sistema operativo llama a esta función solo si el dispositivo de pantalla se restableció previamente a través de una llamada a DxgkDdiSystemDisplayEnable.

Sintaxis

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
)
{...}

Parámetros

[in] MiniportDeviceContext

Identificador de un bloque de contexto asociado a un adaptador de pantalla. La función DxgkDdiAddDevice del controlador de minipuerto de pantalla proporcionó anteriormente este identificador al subsistema del kernel de gráficos de Microsoft DirectX.

[in] Source

Puntero a la dirección de inicio de la imagen de origen que se va a escribir en la pantalla de comprobación de errores que muestra información sobre el error de detención del sistema.

[in] SourceWidth

Valor UINT que especifica el ancho, en unidades de píxeles, de la imagen de origen especificada.

[in] SourceHeight

Valor UINT que especifica el alto, en unidades de píxeles, de la imagen de origen especificada.

[in] SourceStride

Valor UINT que especifica el número de bytes para cada línea de la imagen de origen especificada.

[in] PositionX

Valor UINT que especifica la coordenada X inicial en la que se debe escribir la imagen de origen especificada en en el dispositivo de visualización.

[in] PositionY

Valor UINT que especifica la coordenada Y inicial en la que se debe escribir la imagen de origen especificada en en el dispositivo para mostrar.

Valor devuelto

None

Observaciones

Restricciones de imagen de origen

El controlador de minipuerto de pantalla debe seguir estas directrices cuando se llama a su función DxgkDdiSystemDisplayWrite :
  • El formato de color de la imagen de origen siempre está en los formatos D3DDDIFMT_R8G8B8 (24 bits por píxel) o D3DDDIFMT_A8R8G8B8 (32 bpp) de la enumeración D3DDDIFORMAT . El controlador de minipuerto de pantalla había establecido previamente el modo de presentación para habilitar las operaciones de escritura en este formato cuando se llamó a su DxgkDdiSystemDisplayEnable .
  • La imagen de origen está en memoria no paginada. El controlador de minipuerto de pantalla debe escribir esta imagen de origen en el búfer de fotogramas actual a partir de las posiciones especificadas por los parámetros PostionX y PositionY .
  • El controlador de minipuerto de pantalla debe usar la CPU para escribir el bloque de imagen en el búfer de fotogramas. Cuando el sistema encuentra un error de detención, puede haber sido causado por una detección y recuperación continuas de tiempo de espera (TDR) en el dispositivo de pantalla. En ese caso, la unidad de procesamiento de gráficos (GPU) podría estar en un estado desconocido.

    Para obtener más información sobre TDR, consulte Detección y recuperación de tiempo de espera (TDR).

Usar memoria no paginada

Es posible que las funciones en modo kernel de Windows no estén disponibles mientras se llama a esta función.

Se puede llamar a DxgkDdiSystemDisplayWrite en cualquier IRQL, por lo que debe estar en memoria no paginable. DxgkDdiSystemDisplayWrite no debe llamar a ningún código que esté en memoria paginable y no debe manipular ningún dato que esté en memoria paginable.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado dispmprt.h
IRQL Cualquier nivel (consulte la sección Comentarios)

Consulte también

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable