Método IPrintCoreUI2::EnumFeatures (prcomoem.h)
El IPrintCoreUI2::EnumFeatures
método enumera las características disponibles de una impresora.
Sintaxis
HRESULT EnumFeatures(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[out] PZZSTR pmszFeatureList,
[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.
[out] pmszFeatureList
Puntero a un búfer proporcionado por el autor de la llamada que recibe una lista delimitada por null de palabras clave de características en MULTI_SZ formato. La lista finaliza con dos caracteres NULL.
Establezca este parámetro en NULL para simplemente consultar el tamaño (*pcbNeeded) de la lista de características sin tener la lista rellenada.
[in] cbSize
Especifica el tamaño, en bytes, del búfer al que apunta pmszFeatureList.
[out] pcbNeeded
Puntero a una ubicación de memoria que recibe el tamaño real, en bytes, de la lista de características.
Valor devuelto
Este 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 pmszFeatureList).
Se llamó al método con pmszFeatureList establecido en NULL. |
|
El parámetro poemuiobj apuntaba a un objeto de contexto no válido. |
|
Error en el método |
Comentarios
Este método solo se admite para complementos Pscript5 de Windows XP, no para complementos Unidrv.
Las características adhesivas de impresora (vea Reemplazar Driver-Supplied páginas de hoja de propiedades), como las que determinan la memoria instalable y la presencia de accesorios opcionales, se incluyen en la lista de palabras clave feature, que aparece en el búfer de salida señalado por pmszFeatureList cuando el método devuelve. Para Pscript5, estas características tienen el atributo de característica OpenGroupType establecido en "InstallableOptions".
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 .
Para obtener más información, vea Uso de EnumFeatures.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | prcomoem.h (incluya Prcomoem.h) |