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


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

Метод IPrintOemPS::EnablePDEV позволяет подключаемым модулям отрисовки для Pscript5 создавать собственную структуру 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

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

cjGdiInfo

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

pGdiInfo

Предоставленный вызывающим абонентом указатель на структуру GDIINFO .

cjDevInfo

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

pDevInfo

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

pded

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

[out] pDevOem

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

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

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

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

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

Комментарии

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

Если вы предоставляете подключаемый модуль отрисовки, который экспортирует IPrintOemPS::EnablePDEV метод , библиотека DLL принтера Pscript5 вызывает метод из функции DrvEnablePDEV .

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

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

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

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

Требования

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