Compartilhar 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.

Começando com 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 miniporta de exibição forneceu anteriormente 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 gravada 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.

Retornar valor

Nenhum

Comentários

Restrições de imagem de origem

O driver de miniporto de exibição deve seguir estas diretrizes quando sua função DxgkDdiSystemDisplayWrite for 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 um TDR (detecção e recuperação de tempo limite contínuo) no dispositivo de exibição. Nesse caso, a GPU (unidade de processamento gráfico) 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
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Plataforma de Destino Área de Trabalho
Cabeçalho dispmprt.h
IRQL Qualquer nível (consulte a seção Comentários)

Confira também

DxgkCbAcquirePostDisplayOwnership

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable