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

O IPrintOemDriverUni::DrvYMoveTo método é 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 DEVOBJ .

y

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:

Sinalizador 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á ?? Polegadas.

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

MV_PHYSICAL Se definido, o valor do parâmetro y será 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 estiver definido, especifica que o cursor deve ser movido y unidades de sua origem.

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

Se não estiver definido, especifica que 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 nova posição real do cursor da nova posição do cursor solicitada. Esse valor pode ser zero, mas é sempre nãonegativo.

Retornar valor

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

Código de retorno Descrição
S_OK
A operação foi realizada com êxito.
E_FAIL
Falha na operação.
E_NOTIMPL
O método não está implementado.

Comentários

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 da impressora, o método deverá chamar IPrintOemDriverUni::DrvXMoveTo e IPrintOemDriverUni::DrvYMoveTo.

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 poderá 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 tiver terminado sua operação de spooling, ele poderá chamar IPrintOemDriverUni::DrvXMoveTo ou IPrintOemDriverUni::DrvYMoveTo com o sinalizador MV_UPDATE definido. Isso faz com que a 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
Plataforma de Destino Área de Trabalho
Cabeçalho prcomoem.h (inclua Prcomoem.h)