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


Метод IPrintCoreHelper::WhyEd (prcomoem.h)

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

Синтаксис

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

Параметры

[in] pDevmode

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

[in] cbSize

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

[in] pszFeatureKeyword

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

[in] pszOptionKeyword

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

[out] ppFOConstraints

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

[out] pdwNumOptions

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

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

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

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

Замечания

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

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка prcomoem.h (include Prcomoem.h)

См. также

IPrintCoreHelper

IPrintCoreHelper::EnumConstrainedOptions