Compartir a través de


Método IPrintCoreUI2::EnumConstrainedOptions (prcomoem.h)

El IPrintCoreUI2::EnumConstrainedOptions método determina qué opciones de una característica están restringidas.

Sintaxis

HRESULT EnumConstrainedOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszConstrainedOptionList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

Parámetros

[in] poemuiobj

Puntero al contexto actual, una estructura OEMUIOBJ .

[in] dwFlags

Está reservado y debe establecerse en cero.

[in] pszFeatureKeyword

Puntero a un búfer proporcionado por el autor de la llamada que contiene la palabra clave de característica única de interés para el autor de la llamada.

[out] pmszConstrainedOptionList

Puntero a un búfer proporcionado por el autor de la llamada que recibe la lista de palabras clave de opción, en MULTI_SZ formato, para esta característica. Cada palabra clave representa una opción restringida en la configuración actual.

Establezca este parámetro en NULL para simplemente consultar el tamaño (*pcbNeeded) de la lista de opciones restringidas sin tener la lista rellenada.

[in] cbSize

Especifica el tamaño, en bytes, del búfer al que apunta pmszConstrainedOptionList.

[out] pcbNeeded

Puntero a una ubicación de memoria que recibe el tamaño real, en bytes, de la lista de opciones restringidas.

Valor devuelto

Este método debe devolver uno de los valores siguientes.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta. El método también debe devolver este valor si ninguna de las opciones de la característica está restringida. En este caso, el método debe colocar un carácter nulo en el búfer al que apunta pmszConstrainedOptionList y debe establecer **pcbNeededed* en 1.
E_OUTOFMEMORY
El valor de cbSize era menor que el número de bytes que se van a escribir en el búfer de salida (el búfer al que apunta pmszConstrainedOptionList).

Se llamó al método con pmszConstrainedOptionList establecido en NULL.

E_INVALIDARG
La cadena a la que apunta pszFeatureKeyword no era una característica reconocida.

El parámetro poemuiobj apuntaba a un objeto de contexto no válido.

La permanencia de la característica no coincide con la del objeto de contexto al que apunta peomuiobj. (Vea Reemplazar Driver-Supplied páginas de hoja de propiedades).

E_FAIL
Error en el método.
E_NOTIMPL
El método no se admite.

Comentarios

Este método solo se admite para los complementos de interfaz de usuario Pscript5 de Windows XP que reemplazan completamente las páginas de interfaz de usuario estándar del controlador principal y solo se admiten durante las funciones IPrintOemUI::D ocumentPropertySheets e IPrintOemUI::D evicePropertySheets y sus rutinas de devolución de llamada de hoja de propiedades. Vea Reemplazar Driver-Supplied páginas de hoja de propiedades para obtener más información.

Para reducir la necesidad de realizar dos llamadas por acceso a datos, pase el método un búfer de salida de un tamaño fijo (por ejemplo, 1 KB) y, a continuación, compruebe el valor devuelto de la función. Si el método devuelve S_OK, el búfer ya contiene los datos de interés. Si el método devuelve E_OUTOFMEMORY, el valor de *pcbNeeded es el tamaño del búfer necesario para contener los datos de interés. A continuación, el autor de la llamada debe asignar un búfer de ese tamaño mayor y continuar con una segunda llamada al método .

Requisitos

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

Consulte también

IPrintCoreUI2

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ