Compartir a través de


Método IPrintCorePS2::EnumFeatures (prcomoem.h)

El método IPrintCorePS2::EnumFeatures enumera las características disponibles de una impresora.

Sintaxis

HRESULT EnumFeatures(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [out] PZZSTR  pmszFeatureList,
  [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.

[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 simplemente consultar el tamaño (*pcbNeededed) 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 los datos solicitados.

Valor devuelto

Este método debe devolver uno de los siguientes valores.

Código devuelto Descripción
S_OK
El método se realizó correctamente.
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 pmszFeatureList).

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

E_INVALIDARG
El parámetro pdevobj apunta a un objeto de contexto de controlador no válido.
E_FAIL
Error en el método.

Observaciones

características de pegajosas de impresora (vea Reemplazar Driver-Supplied páginas de hojas 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 al que apunta pmszFeatureList. 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 *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 EnumFeatures.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de prcomoem.h (include Prcomoem.h)

Consulte también

DEVOBJ

IPrintCorePS2

IPrintCorePS2::EnumOptions