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


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

Метод IPrintOemUni::EnablePDEV позволяет подключаемый модуль отрисовки для Unidrv создать собственную структуру PDEV.

Синтаксис

HRESULT EnablePDEV(
        PDEVOBJ       pdevobj,
        PWSTR         pPrinterName,
        ULONG         cPatterns,
        HSURF         *phsurfPatterns,
        ULONG         cjGdiInfo,
        GDIINFO       *pGdiInfo,
        ULONG         cjDevInfo,
        DEVINFO       *pDevInfo,
        DRVENABLEDATA *pded,
  [out] OUT PDEVOEM   *pDevOem
);

Параметры

pdevobj

Указатель на структуру DEVOBJ вызываемого абонента.

pPrinterName

Вызывающий указатель на текстовую строку, представляющую логический адрес принтера.

cPatterns

Вызываемое значение, представляющее количество дескрипторов поверхности, типизированных HSURF, содержащихся в буфере, на которые указывает phsurfPatterns.

phsurfPatterns

Вызывающий указатель на буфер, который достаточно велик, чтобы содержать cPatterns число дескрипторов поверхности типа HSURF. Дескриптор представляет шаблоны заливки поверхности.

cjGdiInfo

Вызываемое значение, представляющее размер структуры, на которую указывает pGdiInfo.

pGdiInfo

Указатель на GDIINFO.

cjDevInfo

Вызываемое значение, представляющее размер структуры, на которую указывает pDevInfo.

pDevInfo

Вызывающий указатель на структуру DEVINFO.

pded

Вызывающий указатель на структуру DRVENABLEDATA, содержащую адреса графических функций DDI драйвера принтера. Дополнительные сведения см. в следующем разделе "Примечания".

[out] pDevOem

Получает указатель, предоставленный методом, на частную структуру PDEV. (Дополнительные сведения см. в следующем разделе "Примечания".)

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

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

Возвращаемый код Описание
S_OK
Операция завершилась успешно.
E_FAIL
Сбой операции
 

Если операция завершается ошибкой, метод должен вызвать SetLastError, чтобы задать код ошибки.

Замечания

Подключаемый модуль отрисовки для Unidrv должен реализовать метод IPrintOemUni::EnablePDEV.

Метод IPrintOemUni::EnablePDEV выполняет те же типы операций, что и функция DrvEnablePDEV, экспортируемая библиотекой DLL графики принтера. Его целью является разрешение подключаемого модуля отрисовки для создания собственной структуры PDEV. (Дополнительные сведения о структурах PDEV см. в разделе Настраиваемые структуры PDEV.)

Если вы предоставляете подключаемый модуль отрисовки, который экспортирует метод IPrintOemUni::EnablePDEV, графический dll-файл принтера Undrv вызывает метод из функции DrvEnablePDEV.

Метод IPrintOemUni::EnablePDEV должен выделить экземпляр своей частной структуры PDEV, инициализировать его и вернуть его адрес в качестве параметра pDevOem метода. Другие методы подключаемого модуля получают адрес как элемент pdevOEM структуры DEVOBJ.

Элемент pdevOEM структуры DEVOBJ не используется с методом IPrintOemUni::EnablePDEV.

Структуры, на которые указывает phsurfPatterns, pGdiInfo, а значения параметров pDevInfo совпадают со значениями параметров, которые получает функция Unidrv DrvEnablePD EV. Подключаемый модуль отрисовки может изменить содержимое структуры по мере необходимости. Он может предоставлять шаблоны заливки поверхности путем получения дескрипторов поверхности типа HSURF и размещения их в буфере, на который указывает phsurfPatterns. Типы шаблонов заливки и порядок дескрипторов перечислены в описании DrvEnablePDEV.

Структура DRVENABLEDATA, на которую указывает pded содержит адреса функций DDI графики, предоставленных библиотекой DLL принтера Unidrv. Вы можете предоставить настраиваемые функции перехватчика в подключаемом модуле для этих графических функций DDI. Содержимое структуры DRVENABLEDATA позволяет настраиваемым функциям перехватчика возвращать графические функции DDI драйвера. Дополнительные сведения см. в разделе Настраиваемые функции DDI графики.

Требования

Требование Ценность
целевая платформа Настольный
заголовка prcomoem.h (include Prcomoem.h)