Метод 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 должен возвращать одно из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Операция завершилась успешно. |
|
Один или несколько аргументов недопустимы, или функция не поддерживается. |
|
Не удалось выделить память для результирующий массив. |
Замечания
Если указанная пара параметров функции не ограничена, IPrintCoreHelper::WhyConstrained вернет S_OK но возвращает значение *pdwFOPairs значение 0 и значение *ppFOConstraints[0], равное NULL.
Обратите внимание, что результаты этого метода могут не содержать все параметры, влияющие на выбранный в данный момент параметр. Для драйверов Unidrv этот список будет включать по крайней мере один вариант из каждого набора ограничений, активных. Если есть недопустимые сочетания, которые перечисляют более двух пар вариантов функций, однако в список будет включен только один вариант из сочетания.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | prcomoem.h (include Prcomoem.h) |