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


Метод 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, описанной в документации по пакету SDK для Microsoft Windows, но подключаемый модуль не несет ответственности за освобождение этой памяти.

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

Требования

Требование Ценность
заголовка prdrvcom.h (include Prdrvcom.h)

См. также

IPrintTicketProvider2

IPrintTicketProvider2::BindPrinter