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


Метод 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::Почему ограниченные должны использовать структуру 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 (include Prcomoem.h)

См. также

IPrintCoreHelperPS

IPrintCoreHelperPS::EnumConstrainedOptions