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

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

Sintaxe

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

Parâmetros

pdevobj

Ponteiro fornecido pelo chamador para uma estrutura DEVOBJ .

x

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 x será expresso em ponto, com base na resolução atual da impressora. Por exemplo, se a resolução x for 150 DPI e x for 75, o movimento será ?? Polegadas.

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

MV_PHYSICAL Se definido, o valor do parâmetro x será relativo à origem do cursor.

Se não for definido, o valor do parâmetro x 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 x unidades de sua posição atual.

Se não estiver definido, especifica que o cursor deve ser movido x 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 IPrintOemDriverUni::DrvXMoveTo métodos e IPrintOemDriverUni::D rvYMoveTo 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)