EnumPrintProcessorDataTypes

BOOL EnumPrintProcessorDatatypes(
    LPTSTR  pName,
    LPTSTR  pPrintProcessorName,
    DWORD   Level,
    LPSTR   pDatatypes,
    DWORD   cbBuf,
    LPDWORD pcbNeeded,
    LPDWORD pcReturned
);
 

Returns all the data types that the print processor supports.

pName Specifies the name of the server on which the print processor is installed. On the local machine, the value of this parameter is NULL.
pPrintProcessorName Points to the name of the print processor. For example, the name of the default print processor is "Winprint."
Level Specifies the level number of the datatypes information structure to return. For example, if the value of the Level parameter is 1, an array of DATATYPES_INFO_1 structures are returned.
pDatatypes Points to a buffer in which to return the array of datatype information structures.
cbBuf Specifies the size, in bytes, of the buffer the pDatatypes parameter points to.
pcbNeeded Points to the memory location in which the EnumPrintProcessorDataTypes function returns the number of bytes needed to enumerate all the datatypes the print processor supports. If the size of the buffer supplied by the caller is too small (cbBuf is less than the value pointed to by pcbNeeded) then an error message is returned and the caller can use the value pointed to by pcbNeeded to resize the buffer. If the size of the buffer supplied by the caller is adequate, then pcbNeeded points to the number of bytes that were copied into the buffer.
pcReturned Points to the memory location that contains the number of datatype information structures in the array returned in the buffer pointed to by pDatatypes.