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