Partilhar via


DXGKDDI_SYSTEM_DISPLAY_WRITE função de retorno de chamada (dispmprt.h)

Chamado pelo sistema operacional para solicitar que o driver de miniporto de exibição escreva um bloco de imagem no dispositivo de exibição.

A partir do Windows 8, o sistema operacional chama essa função durante uma operação de verificação de bugs após um erro de parada do sistema. O sistema operacional chamará essa função somente se o dispositivo de exibição tiver sido redefinido anteriormente por meio de uma chamada para DxgkDdiSystemDisplayEnable.

Sintaxe

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

Um identificador para um bloco de contexto associado a um adaptador de exibição. A função DxgkDdiAddDevice do driver de miniporto de exibição anteriormente forneceu esse identificador para o subsistema de kernel de elementos gráficos do Microsoft DirectX.

[in] Source

Um ponteiro para o endereço inicial da imagem de origem a ser gravado na tela de verificação de bugs que exibe informações sobre o erro de parada do sistema.

[in] SourceWidth

Um valor UINT que especifica a largura, em unidades de pixels, da imagem de origem especificada.

[in] SourceHeight

Um valor UINT que especifica a altura, em unidades de pixels, da imagem de origem especificada.

[in] SourceStride

Um valor UINT que especifica o número de bytes para cada linha da imagem de origem especificada.

[in] PositionX

Um valor UINT que especifica a coordenada X inicial na qual a imagem de origem especificada deve ser gravada no dispositivo de exibição.

[in] PositionY

Um valor UINT que especifica a coordenada Y inicial na qual a imagem de origem especificada deve ser gravada no dispositivo de exibição.

Valor de retorno

Nenhum

Observações

restrições de imagem de origem

O driver de miniporto de exibição deve seguir estas diretrizes quando sua função DxgkDdiSystemDisplayWrite é chamada:
  • O formato de cor da imagem de origem está sempre nos formatos D3DDDIFMT_R8G8B8 (24 bits por pixel) ou D3DDDIFMT_A8R8G8B8 (32 bpp) da enumeração D3DDDIFORMAT. O driver de miniporto de exibição já havia definido o modo de exibição para habilitar operações de gravação nesse formato quando seu DxgkDdiSystemDisplayEnable foi chamado.
  • A imagem de origem está na memória não paginada. O driver de miniporto de exibição deve gravar essa imagem de origem no buffer de quadro atual começando nas posições especificadas pelos parâmetros postionX e positionY.
  • O driver de miniporto de exibição deve usar a CPU para gravar o bloco de imagem no buffer de quadros. Quando o sistema encontra um erro de parada, ele pode ter sido causado por uma TDR (detecção e recuperação de tempo limite contínua) no dispositivo de exibição. Nesse caso, a GPU (unidade de processamento de gráficos) pode estar em um estado desconhecido.

    Para obter mais informações sobre TDR, consulte TDR (Detecção e Recuperação de Tempo Limite).

Usar memória não paginada

As funções do modo kernel do Windows podem não estar disponíveis enquanto essa função está sendo chamada.

DxgkDdiSystemDisplayWrite pode ser chamado em qualquer IRQL, portanto, ele deve estar na memória não pageable. DxgkDdiSystemDisplayWrite não deve chamar nenhum código que esteja na memória paginável e não deve manipular nenhum dado que esteja na memória paginável.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8
servidor com suporte mínimo Windows Server 2012
da Plataforma de Destino Área de trabalho
cabeçalho dispmprt.h
IRQL Qualquer nível (consulte a seção Comentários)

Consulte também

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable