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


Метод IPrintOemUni::CommandCallback (prcomoem.h)

Метод IPrintOemUni::CommandCallback используется для предоставления динамически создаваемых команд принтера для принтеров, поддерживаемых Unidrv.

Синтаксис

HRESULT CommandCallback(
        PDEVOBJ pdevobj,
        DWORD   dwCallbackID,
        DWORD   dwCount,
        PDWORD  pdwParams,
  [out] OUT INT *piResult
);

Параметры

pdevobj

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

dwCallbackID

Предоставленное вызывающей стороны значение, представляющее атрибут *CallbackID команды принтера в GPD-файле принтера. (Дополнительные сведения см. в следующем разделе Примечаний.)

dwCount

Указанное вызывающей стороной значение, представляющее количество элементов в массиве, на который указывает pdwParams. Может иметь значение 0.

pdwParams

Предоставленный вызывающим объектом указатель на массив параметров размера DWORD, содержащий значения, указанные в командах принтера *Params в файле GPD принтера. (Дополнительные сведения см. в следующем разделе Примечаний.) Может иметь значение NULL.

[out] piResult

Получает значение результата, предоставленное методом. См. следующий раздел Примечаний.

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

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

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

Комментарии

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

Если вы хотите динамически создавать команду принтера, необходимо включить атрибут *CallbackID и при необходимости атрибут *Params в запись команды *Command в файле GPD принтера. Дополнительные сведения см. в разделе Динамически создаваемые команды принтера.

Когда Unidrv вызывает IPrintOemUni::CommandCallback метод , он предоставляет значение атрибута *CallbackID записи *Command в качестве параметра dwCallbackID . Он также помещает значение атрибута *Command записи *Params в массив DWORD и предоставляет адрес массива в качестве параметра pParams . Массив содержит набор значений стандартных переменных , определенных Unidrv, а параметр dwCount указывает количество параметров, содержащихся в массиве. Дополнительные сведения об атрибутах см. в разделе Атрибуты команд.

Метод должен использовать значение параметра dwCallbackID , чтобы определить, какую команду следует обработать. Для каждой поддерживаемой команды метод должен знать, какие, если таковые имеются, стандартные переменные были заданы атрибутом *Command записи *Params и в каком порядке.

Метод отвечает за создание команды принтера, а затем отправку команды в очередь печати путем вызова метода IPrintOemDriverUni::D rvWriteSpoolBuf .

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

Метод IPrintOemUni::CommandCallback является необязательным. Если подключаемый модуль отрисовки реализует этот метод, метод IPrintOemUni::GetImplementedMethod должен возвращать S_OK при получении "CommandCallback" в качестве входных данных.

Требования

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