77 ERR(
"DllAllocSplMem failed!\n");
89 ERR(
"A Print Provider returned ROUTER_STOP_ROUTING for Printer \"%S\"!\n", pPrinterName);
148 ERR(
"DllAllocSplMem failed!\n");
160 ERR(
"A Print Provider returned ROUTER_STOP_ROUTING for Printer \"%S\"!\n", pPrinterName);
181 FIXME(
"ClosePrinter %p\n",hPrinter);
194 FIXME(
"ClosePrinter 2\n");
197 FIXME(
"ClosePrinter 3\n");
262 if (cbBuf && !pPrinterEnum)
269 cbCallBuffer = cbBuf;
270 pCallBuffer = pPrinterEnum;
289 *pcReturned += dwReturned;
292 if (cbNeeded < cbCallBuffer)
293 cbCallBuffer -= cbNeeded;
299 pCallBuffer += cbNeeded;
359 bReturnValue = pPrintProvider->
PrintProvider.fpOpenPrinter(pPrinterName, &hPrinter, pDefault);
368 ERR(
"DllAllocSplMem failed!\n");
374 *phPrinter = (
HANDLE)pHandle;
381 ERR(
"A Print Provider returned ROUTER_STOP_ROUTING for Printer \"%S\"!\n", pPrinterName);
491 FIXME(
"XcvDataW( %p, %S,,,)\n",
hXcv, pszDataName);
#define ERROR_INVALID_PARAMETER
BOOL WINAPI EnumPrintersW(DWORD Flags, PWSTR Name, DWORD Level, PBYTE pPrinterEnum, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
BOOL WINAPI ReadPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pNoBytesRead)
struct _PRINTER_INFO_2W * PPRINTER_INFO_2W
BOOL WINAPI DllFreeSplMem(PVOID pMem)
BOOL WINAPI AbortPrinter(HANDLE hPrinter)
BOOL WINAPI SeekPrinter(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWrite)
#define ERROR_NOT_ENOUGH_MEMORY
DWORD WINAPI GetLastError(VOID)
DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pDocInfo)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
struct _SPOOLSS_PRINTER_HANDLE * PSPOOLSS_PRINTER_HANDLE
BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
#define ERROR_INVALID_USER_BUFFER
HANDLE WINAPI AddPrinterW(PWSTR pName, DWORD Level, PBYTE pPrinter)
#define ROUTER_STOP_ROUTING
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
BOOL WINAPI WritePrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pcWritten)
BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD cbBuf, PDWORD pcbNeeded)
struct _LIST_ENTRY * Flink
BOOL WINAPI ClosePrinter(HANDLE hPrinter)
_Must_inspect_result_ _In_ ULONG Flags
LIST_ENTRY PrintProviderList
HANDLE WINAPI AddPrinterExW(PWSTR pName, DWORD Level, PBYTE pPrinter, PBYTE pClientInfo, DWORD ClientInfoLevel)
DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd, LPWSTR pText, LPWSTR pCaption, DWORD dwType)
BOOL WINAPI EndPagePrinter(HANDLE hPrinter)
BOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
static const WCHAR Cleanup[]
#define ERROR_INVALID_PRINTER_NAME
_In_ DWORD _Out_ PDWORD pcbNeeded
BOOL WINAPI DeletePrinter(HANDLE hPrinter)
BOOL WINAPI StartPagePrinter(HANDLE hPrinter)
BOOL WINAPI EndDocPrinter(HANDLE hPrinter)
BOOL WINAPI OpenPrinterW(PWSTR pPrinterName, PHANDLE phPrinter, PPRINTER_DEFAULTSW pDefault)
#define ERROR_NOT_SUPPORTED
#define ERROR_INVALID_NAME
PRINTPROVIDOR PrintProvider
PVOID WINAPI DllAllocSplMem(DWORD dwBytes)
#define ERROR_INVALID_LEVEL
base of all file and directory entries
PSPOOLSS_PRINT_PROVIDER pPrintProvider