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