2 * PROJECT: ReactOS Spooler Router
3 * LICENSE: GNU LGPL v2.1 or any later version as published by the Free Software Foundation
4 * PURPOSE: Functions related to Print Processors
5 * COPYRIGHT: Copyright 2015-2016 Colin Finck <colin@reactos.org>
11 EnumPrintProcessorDatatypesW(PWSTR pName
, PWSTR pPrintProcessorName
, DWORD Level
, PBYTE pDatatypes
, DWORD cbBuf
, PDWORD pcbNeeded
, PDWORD pcReturned
)
13 // Always call this function on the Local Spooler.
14 PSPOOLSS_PRINT_PROVIDER pPrintProvider
= CONTAINING_RECORD(PrintProviderList
.Flink
, SPOOLSS_PRINT_PROVIDER
, Entry
);
15 return pPrintProvider
->PrintProvider
.fpEnumPrintProcessorDatatypes(pName
, pPrintProcessorName
, Level
, pDatatypes
, cbBuf
, pcbNeeded
, pcReturned
);
19 EnumPrintProcessorsW(PWSTR pName
, PWSTR pEnvironment
, DWORD Level
, PBYTE pPrintProcessorInfo
, DWORD cbBuf
, PDWORD pcbNeeded
, PDWORD pcReturned
)
21 // Always call this function on the Local Spooler.
22 PSPOOLSS_PRINT_PROVIDER pPrintProvider
= CONTAINING_RECORD(PrintProviderList
.Flink
, SPOOLSS_PRINT_PROVIDER
, Entry
);
23 return pPrintProvider
->PrintProvider
.fpEnumPrintProcessors(pName
, pEnvironment
, Level
, pPrintProcessorInfo
, cbBuf
, pcbNeeded
, pcReturned
);
27 GetPrintProcessorDirectoryW(PWSTR pName
, PWSTR pEnvironment
, DWORD Level
, PBYTE pPrintProcessorInfo
, DWORD cbBuf
, PDWORD pcbNeeded
)
30 if (cbBuf
&& !pPrintProcessorInfo
)
32 SetLastError(ERROR_INVALID_USER_BUFFER
);
36 // Always call this function on the Local Spooler.
37 PSPOOLSS_PRINT_PROVIDER pPrintProvider
= CONTAINING_RECORD(PrintProviderList
.Flink
, SPOOLSS_PRINT_PROVIDER
, Entry
);
38 return pPrintProvider
->PrintProvider
.fpGetPrintProcessorDirectory(pName
, pEnvironment
, Level
, pPrintProcessorInfo
, cbBuf
, pcbNeeded
);