Función EnumPrintProcessorDatatypesA (winspool.h)

La función EnumPrintProcessorDatatypes de un procesador de impresión enumera los tipos de datos que admite el procesador de impresión.

Sintaxis

BOOL EnumPrintProcessorDatatypesA(
  [in, optional]  LPSTR   pName,
  [in]            LPSTR   pPrintProcessorName,
                  DWORD   Level,
  [out, optional] LPBYTE  pDatatypes,
                  DWORD   cbBuf,
  [out]           LPDWORD pcbNeeded,
  [out]           LPDWORD pcReturned
);

Parámetros

[in, optional] pName

Puntero proporcionado por el autor de la llamada a una cadena que representa el nombre del servidor en el que está instalado el procesador de impresión. Si es NULL, el servidor es el sistema local.

[in] pPrintProcessorName

Puntero proporcionado por el autor de la llamada a una cadena que representa el nombre del procesador de impresión.

Level

Valor proporcionado por el autor de la llamada que indica el tipo de las estructuras que se van a devolver en el búfer al que apunta pDatatypes. Este valor debe ser 1, lo que indica que la estructura es DATATYPES_INFO_1.

[out, optional] pDatatypes

Puntero proporcionado por el autor de la llamada a un búfer para recibir una matriz de estructuras de DATATYPES_INFO_1, seguida de un conjunto de cadenas de caracteres que representan nombres de tipo de datos. La estructura DATATYPES_INFO_1 se describe en la documentación de Microsoft Windows SDK. El miembro de estructura pName debe ser del tipo LPWSTR.

cbBuf

Valor proporcionado por el autor de la llamada que representa el tamaño, en bytes, del búfer al que apunta pDatatypes.

[out] pcbNeeded

Puntero proporcionado por el autor de la llamada a una ubicación para recibir el tamaño mínimo necesario para el búfer al que apunta pDatatypes.

[out] pcReturned

Puntero proporcionado por el autor de la llamada a una ubicación para recibir el número de estructuras de DATATYPES_INFO_1 devueltas en el búfer a las que apunta pDatatypes.

Valor devuelto

Si la operación se realiza correctamente, la función debe devolver TRUE. Si se produce un error en la operación, la función debe llamar a SetLastError para establecer un código de error y, a continuación, devolver FALSE.

Comentarios

Los procesadores de impresión son necesarios para exportar una función EnumPrintProcessorDatatypes . El proveedor de impresión local llama a la función durante la inicialización. También se llama a la función cuando una aplicación llama a la versión del administrador de colas de la misma función.

La función debe devolver una matriz de estructuras de DATATYPES_INFO_1, con cada estructura que apunta a una cadena que representa un tipo de datos. Las cadenas reales también deben incluirse en el búfer, después de la matriz de estructura. Vea Sample Print Processor (Procesador de impresión de ejemplo) para obtener un ejemplo.

La función debe devolver el número de estructuras DATATYPES_INFO_1 devueltas (es decir, el número de tipos de datos admitidos) en la ubicación a la que apunta pcReturned.

La función debe devolver el tamaño mínimo necesario del búfer en la ubicación a la que apunta pcbNeeded. Si el búfer proporcionado es demasiado pequeño, la función debe especificar un valor para pcbNeeded, establezca el código de error en ERROR_INSUFFICIENT_BUFFER y devuelva FALSE.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado winspool.h (incluya Winspool.h)