Compartir a través de


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

El IPrintCoreUI2::GetOptions método recupera la configuración de características actual del controlador con el formato de una lista de pares de palabras clave feature/option.

Sintaxis

HRESULT GetOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCZZSTR   pmszFeaturesRequested,
  [in]  DWORD     cbIn,
  [out] PZZSTR    pmszFeatureOptionBuf,
  [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] pmszFeaturesRequested

Puntero al búfer proporcionado por el autor de la llamada que contiene una lista de palabras clave de características (en formato MULTI_SZ) cuya configuración se solicita. Establezca este parámetro en NULL para obtener la configuración de todas las características.

[in] cbIn

Especifica el tamaño, en bytes, del búfer al que apunta pmszFeaturesRequested. El tamaño incluye el último carácter MULTI_SZ null.

[out] pmszFeatureOptionBuf

Puntero a un búfer proporcionado por el autor de la llamada que recibe una lista de pares de palabras clave feature/option (en formato MULTI_SZ) obtenidos de la configuración del controlador. Cada par de palabras clave feature/option contiene el nombre de palabra clave de característica, un carácter null, el nombre de palabra clave option y otro carácter NULL. La lista finaliza con dos caracteres NULL.

[in] cbSize

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

[out] pcbNeeded

Puntero a una ubicación de memoria que recibe el tamaño real, en bytes, de los pares de palabras clave feature/option.

Valor devuelto

El 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.
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 pmszFeatureOptionBuf).

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

E_INVALIDARG
Se proporcionó el búfer de entrada (el búfer al que apunta pmszFeaturesRequested), pero su contenido no estaba en formato MULTI_SZ.

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

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

Comentarios

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

Si no se reconoce una palabra clave de característica solicitada o no se admite en el modo sticky actual (document-sticky o printer-sticky - vea Reemplazar Driver-Supplied páginas de hoja de propiedades) o se reconoce la palabra clave feature pero actualmente no hay ninguna selección de opción para ella, la característica simplemente se omite y el par de palabras clave feature/option no se coloca en el búfer de salida.

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 (1 KB, por ejemplo) 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 .

Para obtener más información, consulte Uso de GetOptions y SetOptions.

Requisitos

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

Consulte también

IPrintCoreUI2

IPrintCoreUI2::SetOptions

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ