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 |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
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. |
|
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. |
|
El método no se admite. |
|
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
IPrintOemUI::D evicePropertySheets