Partilhar via


Método IPrintOemDriverUni::D rvYMoveTo (prcomoem.h)

O método IPrintOemDriverUni::DrvYMoveTo é fornecido pelo driver Unidrv para que um plug-in de renderização possa notificar o driver de alterações de posição y do cursor.

Sintaxe

HRESULT DrvYMoveTo(
        PDEVOBJ pdevobj,
        INT     y,
        DWORD   dwFlags,
  [out] OUT INT *piResult
);

Parâmetros

pdevobj

Ponteiro fornecido pelo chamador para uma estrutura de DEVOBJ.

y

O valor fornecido pelo chamador que representa o número de unidades que o cursor deve ser movido. A unidade é definida pelos sinalizadores de MV_GRAPHICS em dwFlags.

dwFlags

Um ou mais dos seguintes sinalizadores de bits fornecidos pelo chamador:

Bandeira Definição
MV_GRAPHICS Se definido, o valor do parâmetro y será expresso em ponto, com base na resolução atual da impressora. Por exemplo, se a resolução y for 150 DPI e y for 75, o movimento será ?? polegada.

Se não for definido, o valor do parâmetro y será expresso em unidades mestras. Por exemplo, se a unidade y mestra for 600 e y for 300, o movimento será ?? polegada.

MV_PHYSICAL Se definido, o valor do parâmetro y é relativo à origem do cursor.

Se não for definido, o valor do parâmetro y será relativo à origem da área imprimível.

Não será possível definir se MV_RELATIVE estiver definido.

MV_RELATIVE Se definido, especifica que o cursor deve ser movido y unidades de sua posição atual.

Se não for definido, especifica que o cursor deve ser movido y unidades de sua origem.

MV_UPDATE Se definido, especifica que o Unidrv deve atualizar seu cálculo atual da posição do cursor sem realmente mover o cursor. (Deve ser definido se IPrintOemUni::ImageProcessing moveu o cursor.)

Se não for definido, especifica que o Unidrv deve atualizar seu cálculo atual da posição do cursor e também mover o cursor.

[out] piResult

Recebe o resultado fornecido pelo método de subtrair a posição real do novo cursor da nova posição do cursor solicitada. Esse valor pode ser zero, mas é sempre nãonegativo.

Valor de retorno

O método deve retornar um dos valores a seguir.

Código de retorno Descrição
S_OK
A operação foi bem-sucedida.
E_FAIL
Falha na operação.
E_NOTIMPL
O método não é implementado.

Observações

Os métodos IPrintOemDriverUni::D rvXMoveTo e IPrintOemDriverUni::DrvYMoveTo permitem que um plug-in de renderização envie dados de imagem para o spooler da impressora sem fazer com que o driver da impressora perca o controle da posição do cursor da impressora. Se você fornecer um método IPrintOemUni::ImageProcessing que envia dados de imagem diretamente para o spooler de impressão em vez de devolvê-los ao driver de impressora, o método deve chamar IPrintOemDriverUni::DrvXMoveTo e IPrintOemDriverUni::DrvYMoveTo.

Qualquer uma das duas técnicas pode ser usada para atualizar a posição do cursor:

  • Sempre que um método IPrintOemUni::ImageProcessing precisar atualizar a posição do cursor, ele pode chamar IPrintOemDriverUni::DrvXMoveTo ou IPrintOemDriverUni::DrvYMoveTo com o sinalizador MV_UPDATE limpo. Isso faz com que o Unidrv envie comandos de cursor para o spooler de impressão e atualize seu cálculo interno da posição atual do cursor.
  • O método IPrintOemUni::ImageProcessing pode atualizar o cursor enviando comandos de cursor diretamente para o spooler de impressão. Quando o método terminar sua operação de spooling, ele poderá chamar IPrintOemDriverUni::DrvXMoveTo ou IPrintOemDriverUni::DrvYMoveTo com o sinalizador MV_UPDATE definido. Isso faz com que o Unidrv atualize seu cálculo interno da posição atual do cursor sem enviar comandos de cursor para o spooler de impressão.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho prcomoem.h (inclua Prcomoem.h)