Método IPrintCoreUI2::GetGlobalAttribute (prcomoem.h)
El método IPrintCoreUI2::GetGlobalAttribute
recupera la lista de atributos globales o el valor de un atributo global específico.
Sintaxis
HRESULT GetGlobalAttribute(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszAttribute,
[out] PDWORD pdwDataType,
[out] PBYTE pbData,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Parámetros
[in] poemuiobj
Puntero al contexto actual, una estructura de OEMUIOBJ.
[in] dwFlags
Está reservado y debe establecerse en cero.
[in] pszAttribute
Puntero a un búfer proporcionado por el autor de la llamada que contiene una cadena ASCII que especifica el atributo único solicitado. Si este parámetro es NULL, el autor de la llamada solicita una lista de todos los nombres de atributos globales admitidos, en lugar de especificar un nombre de atributo global específico.
[out] pdwDataType
Puntero a una ubicación de memoria que recibe un valor que especifica el tipo de datos del atributo solicitado. Este valor es un enumerador de la enumeración EATTRIBUTE_DATATYPE, que se define en printoem.h.
[out] pbData
Puntero a un búfer proporcionado por el autor de la llamada que recibe los datos solicitados. Para simplemente consultar el número de bytes necesarios para cumplir una solicitud, establezca este parámetro en NULL.
[in] cbSize
Especifica el tamaño, en bytes del búfer al que apunta pbData.
[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 |
---|---|
|
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 pbData).
Se llamó al método con pbData establecido en NULL. |
|
El método intentó consultar un atributo inexistente.
El parámetro poemuiobj apuntaba a un objeto de contexto no válido. |
|
Error en el método |
Observaciones
Este método solo se admite para complementos Pscript5 de Windows XP, no para complementos Unidrv.
Si se llama a este método con sus parámetros pszAttribute y pbData establecidos en NULL, el método devuelve con *pcbNeededed establecido en el número de bytes necesarios para la lista de todos los nombres de atributos globales admitidos. Si se llama al método una segunda vez, con pszAttribute establecido en NULL y pbData apuntando a un búfer del tamaño especificado en *pcbNeededed en la llamada anterior, el método devuelve con *pdwDataType establecido en kADT_ASCII (un enumerador del tipo enumerado EATTRIBUTE_DATATYPE) y pbData apuntando a una lista delimitada por null de todos los nombres de atributos globales admitidos. Esta lista finaliza con dos caracteres NULL.
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 .
Para obtener más información, vea Using GetGlobalAttribute.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | prcomoem.h (include Prcomoem.h) |
Consulte también
IPrintCoreUI2::GetFeatureAttribute