Compartir a través de


Método IPrintCoreHelper::WhyConstrained (prcomoem.h)

El método IPrintCoreHelper::WhyConstrained proporciona una lista de opciones que restringen el par de opciones de características especificado en la configuración actual.

Sintaxis

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

Parámetros

[in] pDevmode

Puntero a una estructura DEVMODEW . Si se proporciona este puntero, IPrintCoreHelper::WhyConstrained debe usar la estructura DEVMODEW a la que apunta pDevmode en lugar de la estructura DEVMODEW predeterminada o actual. Si se llama a este método desde el proveedor de complementos o desde IPrintOemPS::D evMode o IPrintOemUni::D evMode, se requiere este parámetro. En la mayoría de las otras situaciones, el parámetro debe ser NULL. Cuando el controlador principal establece pDevmode en NULL, modifica su estado interno en lugar del de la estructura DEVMODEW pasada. Esto es necesario durante las operaciones como el reemplazo completo de la interfaz de usuario, donde la estructura DEVMODEW devuelta por un DDI, como DrvDocumentPropertySheets, está siendo administrada por el módulo de interfaz de usuario del controlador principal.

[in] cbSize

Tamaño, en bytes, de la estructura DEVMODEW a la que apunta el parámetro pDevmode .

[in] pszFeatureKeyword

Puntero a una cadena ANSI que contiene el nombre de la característica. El nombre de la característica debe corresponder a la palabra clave que se usa en el archivo GPD o PPD.

[in] pszOptionKeyword

Puntero a una cadena ANSI que contiene el nombre de la opción. El nombre de la opción debe corresponder a la palabra clave que se usa en el archivo GPD o PPD.

[out] ppFOConstraints

Puntero a una matriz de PRINT_FEATURE_OPTION elementos. Cuando devuelve IPrintCoreHelper::WhyConstrained , la matriz contiene una lista de pares de elementos de características de las opciones que restringen las opciones especificadas en el parámetro pszOptionKeyword .

[out] pdwNumOptions

Puntero a una variable que recibe el número de pares de opción de características de la matriz a la que apunta el parámetro ppFOConstraints .

Valor devuelto

IPrintCoreHelper::WhyConstrained debe devolver uno de los siguientes valores.

Código devuelto Descripción
S_OK
La operación se realizó correctamente.
E_INVALIDARG
Uno o varios de los argumentos no son válidos o no se admite la característica.
E_OUTOFMEMORY
No se pudo asignar memoria para la matriz de resultados.

Comentarios

Si el par de opción de características especificado no está restringido, IPrintCoreHelper::WhyConstrained devolverá S_OK pero devolverá *pdwFOPairs establecido en 0 y con *ppFOConstraints[0] establecido en NULL.

Tenga en cuenta que los resultados de este método podrían no contener todas las opciones que afectan a la opción seleccionada actualmente. En el caso de los controladores Unidrv, esta lista incluirá al menos una opción de cada conjunto de restricciones que esté activa. Sin embargo, si hay combinaciones no válidas que enumeran más de dos pares de opción de características, solo se incluirá una opción de la combinación en la lista.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado prcomoem.h (include Prcomoem.h)

Consulte también

IPrintCoreHelper

IPrintCoreHelper::EnumConstrainedOptions