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


Метод IPrintTicketProvider2::GetSupportedVersions (prdrvcom.h)

Метод IPrintTicketProvider2::GetSupportedVersions извлекает номера основных версий схем печати, поддерживаемых поставщиком подключаемых модулей.

Синтаксис

HRESULT GetSupportedVersions(
  [in]  IN HANDLE    hPrinter,
  [out] OUT INT * [] ppVersions,
  [out] OUT INT      *cVersions
);

Параметры

[in] hPrinter

Дескриптор устройства печати.

[out] ppVersions

Указатель на переменную, получающую адрес первого элемента массива номеров версий. Номера версий в массиве могут отображаться в любом порядке. Дополнительные сведения об этом параметре см. в следующем разделе Примечаний.

[out] cVersions

Указатель на переменную, получающую количество элементов в массиве, на который указывает ppVersions.

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

IPrintTicketProvider2::GetSupportedVersions должен возвращать S_OK , если операция выполнена успешно. Если этот метод завершается сбоем из-за нехватки памяти или других ресурсов, он должен вернуть стандартный код ошибки COM.

Комментарии

IPrintTicketProvider2::GetSupportedVersions возвращает основные номера версий схем печати, поддерживаемые интерфейсом поставщика. Единственный номер версии, определенный в данный момент, — 1. Поставщики могут пропускать промежуточные версии.

Подключаемый модуль отвечает за выделение памяти массива, на которую указывает параметр ppVersions . Подключаемый модуль должен выделять эту память с помощью функции CoTaskMemAlloc, описанной в документации по Microsoft Windows SDK, но подключаемый модуль не отвечает за освобождение этой памяти.

Так как IPrintTicketProvider2::GetSupportedVersions можно вызвать перед вызовом метода IPrintTicketProvider2::BindPrinter, поставщик подключаемого модуля OEM должен проверка поддержку версий на основе дескриптора, передаваемого в параметре hPrinter. В результате поставщик подключаемого модуля OEM не должен закрывать дескриптор принтера, связанный с hPrinter.

Требования

Требование Значение
Заголовок prdrvcom.h (включая Prdrvcom.h)

См. также раздел

IPrintTicketProvider2

IPrintTicketProvider2::BindPrinter