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


Метод 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

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

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 , совпадают с структурами, которые получает функция DrvEnablePDEV Unidrv. Подключаемый модуль отрисовки может изменять содержимое структуры при необходимости. Он может предоставлять шаблоны заполнения поверхности, получая маркеры поверхности типа HSURF и помещая их в буфер, на который указывает phsurfPatterns. Типы шаблонов заливки и порядок дескрипторов перечислены в описании DrvEnablePDEV.

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

Требования

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