The PrtFilterJobData function is called to give the user DLL the opportunity to manipulate the printer data before it is printed. This allows the DLL to provide custom processing for print data sent to the print server.
void WINAPI PrtFilterJobData(
void *UniqueID,
char **pBufPtr,
DWORD *pBufLen
);
The data in the buffer is printable ASCII and/or printer control sequences if these are being sent in the print jobs. The buffer returned by the user DLL does not have to be the same as the buffer passed in. The returned buffer will always be freed by calling PrtFilterFree after the data has been spooled. The unique identifier parameter UniqueID is the identifier returned from a previous call to the PrtFilterJobStart function.
PrtFilterFree, PrtFilterJobStart