Método IPrintCorePS2::GetOptions (prcomoem.h)
El método IPrintCorePS2::GetOptions
recupera la configuración de características actual del controlador en el formato de una lista de pares de palabras clave de característica o opción.
Sintaxis
HRESULT GetOptions(
[in] PDEVOBJ pdevobj,
[in] DWORD dwFlags,
[in] PCZZSTR pmszFeaturesRequested,
[in] DWORD cbIn,
[out] PZZSTR pmszFeatureOptionBuf,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Parámetros
[in] pdevobj
Puntero a una estructura DEVOBJ de.
[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 de opción 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 datos solicitados.
Valor devuelto
El método debe devolver uno de los valores siguientes.
Código devuelto | Descripción |
---|---|
|
El método se realizó correctamente. |
|
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 pdevobj apunta a un objeto de contexto de controlador no válido. |
|
No se admite el método . |
|
Error en el método. |
Observaciones
Este método admite tanto pegajoso de documento como características pegajosas de impresora. Solo se admite después de que el controlador principal finalice su drvEnablePDEV procesamiento, que configura todas las opciones. Una llamada a IPrintCorePS2::GetOptions
cuando no se admite debe hacer que devuelva E_NOTIMPL. Por ejemplo, cuando el controlador principal llama al método IPrintOemPS::EnablePDEV de un complemento de representación, El controlador todavía está ocupado con su procesamiento de DrvEnablePDEV, por lo que si el complemento llama IPrintCorePS2::GetOptions
dentro del método IPrintOemPS::D evMode, el complemento recibe el valor devuelto E_NOTIMPL. Sin embargo, dado que se llama al método IPrintOemPS::EnablePDEV del complemento después de que el controlador principal finalice su procesamiento de DrvEnablePDEV, el complemento puede llamar a IPrintCorePS2::GetOptions
correctamente dentro de su IPrintOemPS::EnablePDEV método.
Si no se reconoce una palabra clave de característica solicitada o la característica se reconoce, pero actualmente no hay ninguna selección de opciones para ella, la característica 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 (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 *pcbNeededed 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 .
Este método es compatible con cualquier complemento de representación de Pscript5.
Para obtener más información, vea Using GetOptions and SetOptions.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | prcomoem.h (include Prcomoem.h) |