Поделиться через


Метод IPrintOemDriverUni::D rvXMoveTo (prcomoem.h)

Метод IPrintOemDriverUni::DrvXMoveTo предоставляется драйвером Unidrv, чтобы подключаемый модуль отрисовки может уведомлять драйвер об изменениях положения курсора X.

Синтаксис

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

Параметры

pdevobj

Указатель на структуру DEVOBJ , предоставленный вызывающим объектом.

x

Указанное вызывающей стороны значение, представляющее количество единиц перемещения курсора. Единица определяется флагами MV_GRAPHICS в dwFlags.

dwFlags

Один или несколько из следующих битовых флагов, предоставляемых вызывающим абонентом:

Флаг Определение
MV_GRAPHICS Если значение задано, значение параметра x выражается точками в зависимости от текущего разрешения принтера. Например, если разрешение x равно 150 точек на дюйм, а x — 75, то движение равно ?? Дюймовый.

Если значение параметра x не задано, оно выражается в master единицах. Например, если единица x master — 600, а x — 300, то движение будет ?? Дюймовый.

MV_PHYSICAL Если задано значение, значение параметра x относится к источнику курсора.

Если значение параметра не задано, значение параметра x относится к источнику печатной области.

Невозможно задать, если задано MV_RELATIVE.

MV_RELATIVE Если задано значение , указывает, что курсор должен быть перемещен на x единиц из текущей позиции.

Если значение не задано, указывает, что курсор должен быть перемещен на x единиц из его источника.

MV_UPDATE Если задано значение , указывает, что Unidrv должен обновить текущее вычисление позиции курсора без фактического перемещения курсора. (Должно быть задано, если IPrintOemUni::ImageProcessing переместил курсор.)

Если значение не задано, указывает, что Unidrv должен обновить текущее вычисление позиции курсора, а также переместить курсор.

[out] piResult

Получает предоставленный методом результат вычитания фактической новой позиции курсора из запрошенной новой позиции курсора. Это значение может быть равно нулю, но оно всегда не является отрицательным.

Возвращаемое значение

Метод должен возвращать одно из следующих значений.

Код возврата Описание
S_OK
Операция успешно выполнена.
E_FAIL
Операция не удалась.
E_NOTIMPL
Метод не реализован.

Комментарии

IPrintOemDriverUni::DrvXMoveTo Методы IPrintOemDriverUni::D rvYMoveTo позволяют подключаемом модулю отрисовки отправлять данные изображения в очередь печати принтера, не приводя к потере драйвера принтера для отслеживания положения курсора принтера. Если вы предоставляете метод IPrintOemUni::ImageProcessing , который отправляет данные изображений непосредственно в очередь печати печати, а не возвращает их драйверу принтера, метод должен вызвать IPrintOemDriverUni::DrvXMoveTo метод и IPrintOemDriverUni::DrvYMoveTo.

Для обновления положения курсора можно использовать один из двух методов:

  • Всякий раз, когда методу IPrintOemUni::ImageProcessing требуется обновить позицию курсора, он может вызывать IPrintOemDriverUni::DrvXMoveTo или IPrintOemDriverUni::DrvYMoveTo с снятым флагом MV_UPDATE. Это приводит к тому, что Unidrv отправляет команды курсора в очередь очереди печати и обновляет внутреннее вычисление текущей позиции курсора.
  • Метод IPrintOemUni::ImageProcessing может обновлять курсор, отправляя команды курсора непосредственно в очередь печати печати. После завершения операции spooling метод может вызвать IPrintOemDriverUni::DrvXMoveTo или IPrintOemDriverUni::DrvYMoveTo с установленным флагом MV_UPDATE. Это приводит к тому, что Unidrv обновляет внутреннее вычисление текущей позиции курсора без отправки команд курсора в очередь печати печати.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть prcomoem.h (включая Prcomoem.h)