Compartilhar via


Função DrvResetPDEV (winddi.h)

A função DrvResetPDEV permite que um driver gráfico transfira o estado do driver de uma estrutura PDEV antiga para uma nova estrutura PDEV quando um aplicativo Win32 chama ResetDC.

Sintaxe

BOOL DrvResetPDEV(
  DHPDEV dhpdevOld,
  DHPDEV dhpdevNew
);

Parâmetros

dhpdevOld

Identificador fornecido pelo chamador para a estrutura PDEV do dispositivo original. Esse identificador foi fornecido anteriormente pelo driver como um valor retornado para DrvEnablePDEV.

dhpdevNew

Identificador fornecido pelo chamador para a nova estrutura PDEV.

Valor retornado

Esse valor retornado será TRUE se a função for bem-sucedida. Caso contrário, será FALSE e um código de erro será registrado.

Comentários

A função DrvResetPDEV de um driver gráfico deve ser usada para modificar o conteúdo de uma nova estrutura PDEV, com base no conteúdo da estrutura PDEV antiga (atualmente em uso).

Drivers de exibição OpenGL que precisam saber sobre alterações de modo devem implementar DrvResetPDEV. Caso contrário, todos os outros drivers de exibição normalmente não precisam implementar essa função.

Observação As informações a seguir referem-se a DLLs de gráficos de impressora.

A função é chamada como resultado da chamada de um aplicativo para a função ResetDC do Win32, o que, por sua vez, faz com que a GDI chame o DrvEnablePDEV do driver para obter uma nova estrutura PDEV. Como o driver pode modificar o conteúdo de uma estrutura PDEV durante a renderização de um trabalho de impressão, a função DrvResetPDEV permite que o driver transfira essas modificações da estrutura PDEV antiga para a nova.

Exemplos dos tipos de informações que uma DLL de gráficos de impressora pode querer adicionar à nova estrutura PDEV são ponteiros para arquivos de fonte armazenados em cache ou sinalizadores que indicam se a inicialização de página deve (ou não) ocorrer na próxima vez que DrvStartDoc ou DrvStartPage for chamado.

Se ResetDC for chamado durante a renderização de um documento de impressão, a DLL de gráficos da impressora receberá a seguinte sequência de chamadas:

    dhpdevNew = DrvEnablePDEV();
    DrvResetPDEV(dhpdevOld, dhpdevNew);
    DrvDisableSurface(dhpdevOld);
    DrvDisablePDEV(dhpdevOld);
    DrvEnableSurface(dhpdevNew);
    DrvStartDoc(dhpdevNew);

Se ResetDC for chamado entre documentos, não haverá nenhuma superfície associada ao PDEV, portanto, somente a seguinte sequência de chamadas será feita:

    dhpdevNew = DrvEnablePDEV();
    DrvResetPDEV(dhpdevOld,dhpdevNew);
    DrvDisablePDEV(dhpdevOld);

Requisitos

   
Plataforma de Destino Área de Trabalho
Cabeçalho winddi.h (inclua Winddi.h)

Confira também

DrvDisablePDEV

DrvDisableSurface

DrvEnablePDEV

DrvEnableSurface

DrvStartDoc

DrvStartPage