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

El método IPrintCoreHelper::GetOption obtiene una opción especificada para una característica determinada.

Sintaxis

HRESULT GetOption(
  [in]  const DEVMODE *pDevmode,
  [in]  DWORD         cbSize,
  [in]  PCSTR         pszFeatureRequested,
  [out] PCSTR         *ppszOption
);

Parámetros

[in] pDevmode

Puntero a una estructura DEVMODEW . Si se proporciona este puntero, IPrintCoreHelper::GetOption 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] pszFeatureRequested

Puntero a la cadena ANSI que contiene el nombre de la característica tal como aparece en el archivo GPD.

[out] ppszOption

Puntero a una variable que contiene la dirección de una cadena ANSI. Cuando se devuelve IPrintCoreHelper::GetOption , la cadena debe contener la palabra clave para la opción seleccionada actualmente, tal como aparece en el archivo de configuración. El autor de la llamada no debe modificar esta cadena y no debe liberar la memoria asociada a esta cadena.

Valor devuelto

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

Código devuelto Descripción
S_OK
El método lee la opción de la característica especificada.
E_FAIL
El autor de la llamada proporcionó información que dio lugar a una solicitud no válida. Por ejemplo, la característica solicitada no existe.
E_INVALIDARG
Los argumentos no eran válidos. Este valor puede significar que la característica no se admite o que se solicitaron demasiadas opciones para la característica.
E_OUTOFMEMORY
El controlador principal no pudo atender la solicitud porque no había memoria suficiente.
E_UNEXPECTED u otros códigos de retorno que no aparecen aquí
El controlador principal parece estar en un estado no válido. El autor de la llamada debe devolver un código de error.

Comentarios

IPrintCoreHelper::GetOption no se puede usar para las características que permiten establecer varias opciones simultáneamente.

Las palabras clave de características se definen en los archivos GPD y PPD. Además, los controladores Unidrv y Pscript5 admiten varias palabras clave reservadas para las opciones almacenadas en sus estructuras DEVMODEW privadas.

El autor de la llamada no debe liberar la cadena a la que apunta ppszOption y no debe modificar la cadena de ninguna manera.

Requisitos

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

Consulte también

IPrintCoreHelper

IPrintCoreHelper::EnumOptions

IPrintCoreHelper::SetOptions