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


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

Метод IPrintCoreHelperUni::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 . Если указан этот указатель, следует использовать структуру DEVMODEW, IPrintCoreHelperUni::WhyConstrained на которую указывает pDevmode , вместо структуры DEVMODEW по умолчанию или текущей. Если этот метод вызывается из поставщика подключаемого модуля или из IPrintOemUni::D evMode, этот параметр является обязательным. В большинстве других ситуаций параметр должен иметь значение NULL. Когда основной драйвер устанавливает для pDevmodeзначение NULL, он изменяет его внутреннее состояние, а не переданную в DEVMODEW структуру. Это необходимо при выполнении таких операций, как полная замена пользовательского интерфейса, когда структура DEVMODEW, возвращаемая DDI, например DrvDocumentPropertySheets, обслуживается модулем пользовательского интерфейса основного драйвера.

[in] cbSize

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

[in] pszFeatureKeyword

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

[in] pszOptionKeyword

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

[out] ppFOConstraints

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

[out] pdwNumOptions

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

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

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

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

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

Комментарии

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

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

Требования

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

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

IPrintCoreHelperUni

IPrintCoreHelperUni::EnumConstrainedOptions