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


Метод IPrintCoreHelperPS::WhyConstrained (prcomoem.h)

Метод IPrintCoreHelperPS::WhyConstrained предоставляет список параметров, ограничивающих указанную пару функций и параметров в текущей конфигурации.

Синтаксис

HRESULT WhyConstrained(
  [in, optional] const DEVMODE              *pDevmode,
  [in]           DWORD                      cbSize,
  [in]           PCSTR                      pszFeatureKeyword,
  [in]           PCSTR                      pszOptionKeyword,
  [out]          const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out]          DWORD                      *pdwNumOptions
);

Параметры

[in, optional] pDevmode

Указатель на структуру DEVMODEW . Если указан этот указатель, IPrintCoreHelperPS::WhyConstrained должен использовать структуру DEVMODEW, на которую указывает pDevmode , вместо структуры DEVMODEW по умолчанию или текущей. Если этот метод вызывается из поставщика подключаемого модуля или из IPrintOemPS::D evMode, этот параметр является обязательным. В большинстве других ситуаций параметр должен иметь значение NULL. Когда основной драйвер устанавливает для pDevmodeзначение NULL, он изменяет его внутреннее состояние, а не переданную в DEVMODEW структуру. Это необходимо при выполнении таких операций, как полная замена пользовательского интерфейса, когда структура DEVMODEW, возвращаемая DDI, например DrvDocumentPropertySheets, обслуживается модулем пользовательского интерфейса основного драйвера.

[in] cbSize

Размер структуры DEVMODEW в байтах, на которую указывает параметр pDevmode .

[in] pszFeatureKeyword

Указатель на строку ANSI, содержащую имя компонента. Имя компонента должно соответствовать ключевое слово, используемому в PPD-файле.

[in] pszOptionKeyword

Указатель на строку ANSI, содержащую имя параметра. Имя параметра должно соответствовать ключевое слово, используемому в PPD-файле.

[out] ppFOConstraints

Указатель на массив элементов PRINT_FEATURE_OPTION . Когда функция IPrintCoreHelperPS::WhyConstrained возвращает значение , массив содержит список пар функций и элементов параметров, ограничивающих параметры, указанные в параметре pszOptionKeyword .

[out] pdwNumOptions

Указатель на переменную, которая получает количество пар "признак-параметр" в массиве, на который указывает параметр ppFOConstraints .

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

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

Код возврата Описание
S_OK
Операция успешно выполнена.
E_INVALIDARG
Один или несколько аргументов недопустимы или функция не поддерживается.
E_OUTOFMEMORY
Не удалось выделить память для массива результатов.
 

Для других сбоев метод должен возвращать стандартный код ошибки COM.

Комментарии

Если указанная пара функций и параметров не ограничена, IPrintCoreHelperPS::WhyConstrained вернет S_OK но возвращается с параметром *pdwFOPairs со значением 0 и со значением *ppFOConstraints[0] со значением NULL.

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

Требования

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

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

IPrintCoreHelperPS

IPrintCoreHelperPS::EnumConstrainedOptions