11#define WIN32_NO_STATUS
30#define SKIPLIST_LEVELS 16
38#define IS_VALID_JOB_ID(ID) (ID >= 1 && ID <= 99999)
39#define IS_VALID_PRIORITY(P) (P >= MIN_PRIORITY && P <= MAX_PRIORITY)
42#define SHD_WIN2003_SIGNATURE 0x4968
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
static LPCWSTR LPCWSTR LPCWSTR env
BOOL InitializeGlobalJobList(void)
struct _MONITORINIT * PMONITORINIT
struct _PRINTPROCESSOROPENDATA * PPRINTPROCESSOROPENDATA
struct _MONITOR2 * LPMONITOR2
struct _MONITOREX * LPMONITOREX
struct _MONITORUI * PMONITORUI
enum _LOCAL_HANDLE::@5125 HandleType
PLOCAL_PRINT_PROCESSOR pPrintProcessor
PWSTR pwszPrintProcessorParameters
PLOCAL_PRINT_MONITOR pPrintMonitor
PLOCAL_JOB pNextJobToProcess
PWSTR pwszDefaultDatatype
PLOCAL_PRINT_PROCESSOR pPrintProcessor
PDEVMODEW pDefaultDevMode
PEnumPrintProcessorDatatypesW pfnEnumPrintProcessorDatatypesW
PGetPrintProcessorCapabilities pfnGetPrintProcessorCapabilities
PControlPrintProcessor pfnControlPrintProcessor
PPrintDocumentOnPrintProcessor pfnPrintDocumentOnPrintProcessor
PClosePrintProcessor pfnClosePrintProcessor
POpenPrintProcessor pfnOpenPrintProcessor
PDATATYPES_INFO_1W pDatatypesInfo1
PLOCAL_PRINT_MONITOR pPrintMonitor
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
_In_z_ PCWSTR pwszValueName
BOOL WINAPI LocalSetPort(PWSTR pName, PWSTR pPortName, DWORD dwLevel, PBYTE pPortInfo)
BOOL WINAPI LocalEnumMonitors(PWSTR pName, DWORD Level, PBYTE pMonitors, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
struct _LOCAL_PRINT_MONITOR * PLOCAL_PRINT_MONITOR
BOOL InitializePrintProcessorList(void)
DWORD WINAPI PrintingThreadProc(PLOCAL_JOB pJob)
const WCHAR wszDefaultDocumentName[]
struct _LOCAL_PORT * PLOCAL_PORT
PLOCAL_PRINT_MONITOR FindPrintMonitor(PCWSTR pwszName)
BOOL WINAPI LocalEnumPrintProcessors(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
BOOL WINAPI LocalGetJob(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pStart, DWORD cbBuf, LPDWORD pcbNeeded)
BOOL WINAPI LocalCloseSpoolFileHandle(HANDLE hPrinter)
struct _SHD_HEADER * PSHD_HEADER
BOOL WINAPI LocalEnumPrinters(DWORD Flags, LPWSTR Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
DWORD WINAPI LocalPrinterMessageBox(HANDLE hPrinter, DWORD Error, HWND hWnd, LPWSTR pText, LPWSTR pCaption, DWORD dwType)
BOOL WINAPI LocalConfigurePort(PWSTR pName, HWND hWnd, PWSTR pPortName)
BOOL(WINAPI * PControlPrintProcessor)(HANDLE, DWORD)
BOOL WINAPI LocalAddPrinterDriver(LPWSTR pName, DWORD level, LPBYTE pDriverInfo)
DWORD WINAPI CreateJob(PLOCAL_PRINTER_HANDLE pPrinterHandle)
BOOL InitializePrintMonitorList(void)
LONG copy_servername_from_name(LPCWSTR name, LPWSTR target)
BOOL WINAPI LocalAddPrinterDriverEx(LPWSTR pName, DWORD level, LPBYTE pDriverInfo, DWORD dwFileCopyFlags)
DWORD WINAPI LocalSetPrinterDataEx(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData)
const DWORD dwSpoolerMajorVersion
struct _LOCAL_PRINTER * PLOCAL_PRINTER
BOOL WINAPI LocalScheduleJob(HANDLE hPrinter, DWORD dwJobID)
BOOL WINAPI LocalDeleteMonitor(PWSTR pName, PWSTR pEnvironment, PWSTR pMonitorName)
LPMONITOR2(WINAPI * PInitializePrintMonitor2)(PMONITORINIT, PHANDLE)
BOOL(WINAPI * PClosePrintProcessor)(HANDLE)
struct _PRINTENV_T * PPRINTENV_T
PMONITORUI(WINAPI * PInitializePrintMonitorUI)(VOID)
BOOL WINAPI LocalWritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, LPDWORD pcWritten)
WCHAR wszJobDirectory[MAX_PATH]
const WCHAR wszCurrentEnvironment[]
struct _LOCAL_PORT_HANDLE * PLOCAL_PORT_HANDLE
BOOL WINAPI LocalAddJob(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf, LPDWORD pcbNeeded)
struct _LOCAL_XCV_HANDLE * PLOCAL_XCV_HANDLE
BOOL WINAPI LocalXcvData(HANDLE hXcv, const WCHAR *pszDataName, BYTE *pInputData, DWORD cbInputData, BYTE *pOutputData, DWORD cbOutputData, DWORD *pcbOutputNeeded, DWORD *pdwStatus)
LIST_ENTRY PrintMonitorList
BOOL WINAPI LocalAddPort(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName)
BOOL InitializePrinterList(void)
BOOL WINAPI LocalAddMonitor(PWSTR pName, DWORD Level, PBYTE pMonitors)
DWORD WINAPI LocalGetPrinterData(HANDLE hPrinter, PWSTR pValueName, PDWORD pType, PBYTE pData, DWORD nSize, PDWORD pcbNeeded)
PDEVMODEW DuplicateDevMode(PDEVMODEW pInput)
DWORD(WINAPI * PGetPrintProcessorCapabilities)(LPWSTR, DWORD, LPBYTE, DWORD, LPDWORD)
BOOL WINAPI LocalSetJob(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pJobInfo, DWORD Command)
BOOL CreatePortEntry(PCWSTR pwszName, PLOCAL_PRINT_MONITOR pPrintMonitor)
struct _PRINTENV_T PRINTENV_T
BOOL InitializePortList(void)
void InitializePrinterJobList(PLOCAL_PRINTER pPrinter)
BOOL WINAPI LocalEndPagePrinter(HANDLE hPrinter)
BOOL WINAPI LocalSetForm(HANDLE hPrinter, PWSTR pFormName, DWORD Level, PBYTE pForm)
PLOCAL_PRINT_PROCESSOR FindPrintProcessor(PCWSTR pwszName)
DWORD WINAPI LocalStartDocPrinter(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo)
BOOL WINAPI LocalAddForm(HANDLE hPrinter, DWORD Level, PBYTE pForm)
BOOL WINAPI LocalStartPagePrinter(HANDLE hPrinter)
DWORD WINAPI LocalGetPrinterDataEx(HANDLE hPrinter, PCWSTR pKeyName, PCWSTR pValueName, PDWORD pType, PBYTE pData, DWORD nSize, PDWORD pcbNeeded)
BOOL WINAPI LocalGetPrintProcessorDirectory(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded)
BOOL InitializeFormList(VOID)
BOOL WINAPI LocalEnumForms(HANDLE hPrinter, DWORD Level, PBYTE pForm, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
struct _LOCAL_PRINTER_HANDLE * PLOCAL_PRINTER_HANDLE
BOOL WINAPI LocalEnumJobs(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, PBYTE pStart, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
BOOL WINAPI LocalDeletePort(PWSTR pName, HWND hWnd, PWSTR pPortName)
BOOL WINAPI LocalCommitSpoolData(HANDLE hPrinter, DWORD cbCommit)
BOOL WINAPI LocalReadPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pNoBytesRead)
PLOCAL_PORT FindPort(PCWSTR pwszName)
BOOL WINAPI LocalGetForm(HANDLE hPrinter, PWSTR pFormName, DWORD Level, PBYTE pForm, DWORD cbBuf, PDWORD pcbNeeded)
const DWORD cbCurrentEnvironment
BOOL WINAPI LocalAddPortEx(PWSTR pName, DWORD Level, PBYTE lpBuffer, PWSTR lpMonitorName)
BOOL InitializePrinterDrivers(VOID)
BOOL FindDatatype(const PLOCAL_PRINT_PROCESSOR pPrintProcessor, PCWSTR pwszDatatype)
LPMONITOREX(WINAPI * PInitializePrintMonitor)(PWSTR)
BOOL WINAPI LocalEnumPorts(PWSTR pName, DWORD Level, PBYTE pPorts, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
PWSTR AllocAndRegQueryWSZ(HKEY hKey, PCWSTR pwszValueName)
DWORD GetJobFilePath(PCWSTR pwszExtension, DWORD dwJobID, PWSTR pwszOutput)
struct _LOCAL_JOB * PLOCAL_JOB
VOID BroadcastChange(PLOCAL_HANDLE pHandle)
BOOL WINAPI LocalGetSpoolFileInfo(HANDLE hPrinter, LPWSTR *pSpoolDir, LPHANDLE phFile, HANDLE hSpoolerProcess, HANDLE hAppProcess)
struct _LOCAL_PRINT_PROCESSOR * PLOCAL_PRINT_PROCESSOR
BOOL WINAPI LocalClosePrinter(HANDLE hPrinter)
BOOL WriteJobShadowFile(PWSTR pwszFilePath, const PLOCAL_JOB pJob)
WCHAR wszSpoolDirectory[MAX_PATH]
BOOL(WINAPI * PPrintDocumentOnPrintProcessor)(HANDLE, LPWSTR)
BOOL(WINAPI * PEnumPrintProcessorDatatypesW)(LPWSTR, LPWSTR, DWORD, LPBYTE, DWORD, LPDWORD, LPDWORD)
BOOL WINAPI LocalOpenPrinter(PWSTR lpPrinterName, HANDLE *phPrinter, PPRINTER_DEFAULTSW pDefault)
DWORD WINAPI LocalSetPrinterData(HANDLE hPrinter, PWSTR pValueName, DWORD Type, PBYTE pData, DWORD cbData)
void FreeJob(PLOCAL_JOB pJob)
BOOL WINAPI LocalDeleteForm(HANDLE hPrinter, PWSTR pFormName)
struct _LOCAL_HANDLE * PLOCAL_HANDLE
BOOL WINAPI LocalGetPrinterDriverDirectory(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverDirectory, DWORD cbBuf, PDWORD pcbNeeded)
BOOL WINAPI LocalGetPrinter(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded)
BOOL WINAPI LocalEnumPrintProcessorDatatypes(LPWSTR pName, LPWSTR pPrintProcessorName, DWORD Level, LPBYTE pDatatypes, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
const DWORD dwSpoolerMinorVersion
BOOL WINAPI LocalGetPrinterDriver(HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
PCWSTR wszPrintProviderInfo[3]
PLOCAL_JOB ReadJobShadowFile(PCWSTR pwszFilePath)
PPRINTENV_T validate_envW(LPCWSTR env)
HANDLE(WINAPI * POpenPrintProcessor)(LPWSTR, PPRINTPROCESSOROPENDATA)
BOOL WINAPI LocalGetPrinterDriverEx(HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded, DWORD dwClientMajorVersion, DWORD dwClientMinorVersion, PDWORD pdwServerMajorVersion, PDWORD pdwServerMinorVersion)
BOOL WINAPI LocalEnumPrinterDrivers(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
BOOL WINAPI LocalEndDocPrinter(HANDLE hPrinter)
*nSize LPSTR _Inout_ LPDWORD nSize
_In_ DWORD _Out_ PDWORD pcbNeeded
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
_Must_inspect_result_ _In_ ULONG Flags