[1166] | 1 | /*
|
---|
| 2 | * winsplp.h
|
---|
| 3 | *
|
---|
| 4 | * This file is part of the ReactOS PSDK package.
|
---|
| 5 | *
|
---|
| 6 | * Contributors:
|
---|
| 7 | * Created by Amine Khaldi.
|
---|
| 8 | *
|
---|
| 9 | * THIS SOFTWARE IS NOT COPYRIGHTED
|
---|
| 10 | *
|
---|
| 11 | * This source code is offered for use in the public domain. You may
|
---|
| 12 | * use, modify or distribute it freely.
|
---|
| 13 | *
|
---|
| 14 | * This code is distributed in the hope that it will be useful but
|
---|
| 15 | * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
---|
| 16 | * DISCLAIMED. This includes but is not limited to warranties of
|
---|
| 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
---|
| 18 | *
|
---|
| 19 | */
|
---|
| 20 |
|
---|
| 21 | #pragma once
|
---|
| 22 |
|
---|
| 23 | #ifdef __cplusplus
|
---|
| 24 | extern "C" {
|
---|
| 25 | #endif
|
---|
| 26 |
|
---|
| 27 | #if (STRICT && (NTDDI_VERSION >= NTDDI_VISTA))
|
---|
| 28 | #define HKEYMONITOR HKEY
|
---|
| 29 | #else
|
---|
| 30 | #define HKEYMONITOR HANDLE
|
---|
| 31 | #endif
|
---|
| 32 |
|
---|
| 33 | #define PRINTER_NOTIFY_STATUS_ENDPOINT 1
|
---|
| 34 | #define PRINTER_NOTIFY_STATUS_POLL 2
|
---|
| 35 | #define PRINTER_NOTIFY_STATUS_INFO 4
|
---|
| 36 |
|
---|
| 37 | #define ROUTER_UNKNOWN 0
|
---|
| 38 | #define ROUTER_SUCCESS 1
|
---|
| 39 | #define ROUTER_STOP_ROUTING 2
|
---|
| 40 |
|
---|
| 41 | #if (NTDDI_VERSION >= NTDDI_WINXP)
|
---|
| 42 | #define MONITOR2_SIZE_WIN2K (sizeof(DWORD) + (sizeof(PVOID)*18))
|
---|
| 43 | #endif
|
---|
| 44 |
|
---|
| 45 | #define COPYFILE_EVENT_SET_PRINTER_DATAEX 1
|
---|
| 46 | #define COPYFILE_EVENT_DELETE_PRINTER 2
|
---|
| 47 | #define COPYFILE_EVENT_ADD_PRINTER_CONNECTION 3
|
---|
| 48 | #define COPYFILE_EVENT_DELETE_PRINTER_CONNECTION 4
|
---|
| 49 | #define COPYFILE_EVENT_FILES_CHANGED 5
|
---|
| 50 |
|
---|
| 51 | #define COPYFILE_FLAG_CLIENT_SPOOLER 0x00000001
|
---|
| 52 | #define COPYFILE_FLAG_SERVER_SPOOLER 0x00000002
|
---|
| 53 |
|
---|
| 54 | #define PRINTER_NOTIFY_INFO_DATA_COMPACT 1
|
---|
| 55 |
|
---|
| 56 | typedef struct _PRINTER_NOTIFY_INIT {
|
---|
| 57 | DWORD Size;
|
---|
| 58 | DWORD Reserved;
|
---|
| 59 | DWORD PollTime;
|
---|
| 60 | } PRINTER_NOTIFY_INIT, *LPPRINTER_NOTIFY_INIT, *PPRINTER_NOTIFY_INIT;
|
---|
| 61 |
|
---|
| 62 | typedef struct _SPLCLIENT_INFO_1 {
|
---|
| 63 | DWORD dwSize;
|
---|
| 64 | LPWSTR pMachineName;
|
---|
| 65 | LPWSTR pUserName;
|
---|
| 66 | DWORD dwBuildNum;
|
---|
| 67 | DWORD dwMajorVersion;
|
---|
| 68 | DWORD dwMinorVersion;
|
---|
| 69 | WORD wProcessorArchitecture;
|
---|
| 70 | } SPLCLIENT_INFO_1, *LPSPLCLIENT_INFO_1, *PSPLCLIENT_INFO_1;
|
---|
| 71 |
|
---|
| 72 | typedef struct _SPLCLIENT_INFO_2_V1{
|
---|
| 73 | ULONG_PTR hSplPrinter;
|
---|
| 74 | } SPLCLIENT_INFO_2_W2K;
|
---|
| 75 |
|
---|
| 76 | typedef struct _SPLCLIENT_INFO_2_V2{
|
---|
| 77 | #ifdef _WIN64
|
---|
| 78 | DWORD64 hSplPrinter;
|
---|
| 79 | #else
|
---|
| 80 | DWORD32 hSplPrinter;
|
---|
| 81 | #endif
|
---|
| 82 | } SPLCLIENT_INFO_2_WINXP;
|
---|
| 83 |
|
---|
| 84 | typedef struct _SPLCLIENT_INFO_2_V3{
|
---|
| 85 | UINT64 hSplPrinter;
|
---|
| 86 | } SPLCLIENT_INFO_2_LONGHORN;
|
---|
| 87 |
|
---|
| 88 | typedef struct _PRINTPROVIDOR {
|
---|
| 89 | WINBOOL (WINAPI *fpOpenPrinter)(PWSTR lpPrinterName, HANDLE *phPrinter,
|
---|
| 90 | PPRINTER_DEFAULTSW pDefault);
|
---|
| 91 | WINBOOL (WINAPI *fpSetJob)(HANDLE hPrinter, DWORD JobID, DWORD Level,
|
---|
| 92 | LPBYTE pJob, DWORD Command);
|
---|
| 93 | WINBOOL (WINAPI *fpGetJob)(HANDLE hPrinter, DWORD JobID, DWORD Level,
|
---|
| 94 | LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded);
|
---|
| 95 | WINBOOL (WINAPI *fpEnumJobs)(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
|
---|
| 96 | DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
|
---|
| 97 | LPDWORD pcReturned);
|
---|
| 98 | HANDLE (WINAPI *fpAddPrinter)(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
|
---|
| 99 | WINBOOL (WINAPI *fpDeletePrinter)(HANDLE hPrinter);
|
---|
| 100 | WINBOOL (WINAPI *fpSetPrinter)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
|
---|
| 101 | DWORD Command);
|
---|
| 102 | WINBOOL (WINAPI *fpGetPrinter)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
|
---|
| 103 | DWORD cbBuf, LPDWORD pcbNeeded);
|
---|
| 104 | WINBOOL (WINAPI *fpEnumPrinters)(DWORD dwType, LPWSTR lpszName, DWORD dwLevel,
|
---|
| 105 | LPBYTE lpbPrinters, DWORD cbBuf, LPDWORD lpdwNeeded,
|
---|
| 106 | LPDWORD lpdwReturned);
|
---|
| 107 | WINBOOL (WINAPI *fpAddPrinterDriver)(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
|
---|
| 108 | WINBOOL (WINAPI *fpEnumPrinterDrivers)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 109 | DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
---|
| 110 | LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
---|
| 111 | WINBOOL (WINAPI *fpGetPrinterDriver)(HANDLE hPrinter, LPWSTR pEnvironment,
|
---|
| 112 | DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
---|
| 113 | LPDWORD pcbNeeded);
|
---|
| 114 | WINBOOL (WINAPI *fpGetPrinterDriverDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 115 | DWORD Level, LPBYTE pDriverDirectory,
|
---|
| 116 | DWORD cbBuf, LPDWORD pcbNeeded);
|
---|
| 117 | WINBOOL (WINAPI *fpDeletePrinterDriver)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 118 | LPWSTR pDriverName);
|
---|
| 119 | WINBOOL (WINAPI *fpAddPrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 120 | LPWSTR pPathName, LPWSTR pPrintProcessorName);
|
---|
| 121 | WINBOOL (WINAPI *fpEnumPrintProcessors)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 122 | DWORD Level, LPBYTE pPrintProcessorInfo,
|
---|
| 123 | DWORD cbBuf, LPDWORD pcbNeeded,
|
---|
| 124 | LPDWORD pcbReturned);
|
---|
| 125 | WINBOOL (WINAPI *fpGetPrintProcessorDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 126 | DWORD Level, LPBYTE pPrintProcessorInfo,
|
---|
| 127 | DWORD cbBuf, LPDWORD pcbNeeded);
|
---|
| 128 | WINBOOL (WINAPI *fpDeletePrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 129 | LPWSTR pPrintProcessorName);
|
---|
| 130 | WINBOOL (WINAPI *fpEnumPrintProcessorDatatypes)(LPWSTR pName,
|
---|
| 131 | LPWSTR pPrintProcessorName,
|
---|
| 132 | DWORD Level, LPBYTE pDatatypes,
|
---|
| 133 | DWORD cbBuf, LPDWORD pcbNeeded,
|
---|
| 134 | LPDWORD pcbReturned);
|
---|
| 135 | DWORD (WINAPI *fpStartDocPrinter)(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
|
---|
| 136 | WINBOOL (WINAPI *fpStartPagePrinter)(HANDLE hPrinter);
|
---|
| 137 | WINBOOL (WINAPI *fpWritePrinter)(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
|
---|
| 138 | LPDWORD pcWritten);
|
---|
| 139 | WINBOOL (WINAPI *fpEndPagePrinter)(HANDLE hPrinter);
|
---|
| 140 | WINBOOL (WINAPI *fpAbortPrinter)(HANDLE hPrinter);
|
---|
| 141 | WINBOOL (WINAPI *fpReadPrinter)(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
|
---|
| 142 | LPDWORD pNoBytesRead);
|
---|
| 143 | WINBOOL (WINAPI *fpEndDocPrinter)(HANDLE hPrinter);
|
---|
| 144 | WINBOOL (WINAPI *fpAddJob)(HANDLE hPrinter, DWORD Level, LPBYTE pData,
|
---|
| 145 | DWORD cbBuf, LPDWORD pcbNeeded);
|
---|
| 146 | WINBOOL (WINAPI *fpScheduleJob)(HANDLE hPrinter, DWORD JobID);
|
---|
| 147 | DWORD (WINAPI *fpGetPrinterData)(HANDLE hPrinter, LPWSTR pValueName,
|
---|
| 148 | LPDWORD pType, LPBYTE pData, DWORD nSize,
|
---|
| 149 | LPDWORD pcbNeeded);
|
---|
| 150 | DWORD (WINAPI *fpSetPrinterData)(HANDLE hPrinter, LPWSTR pValueName,
|
---|
| 151 | DWORD Type, LPBYTE pData, DWORD cbData);
|
---|
| 152 | DWORD (WINAPI *fpWaitForPrinterChange)(HANDLE hPrinter, DWORD Flags);
|
---|
| 153 | WINBOOL (WINAPI *fpClosePrinter)(HANDLE phPrinter);
|
---|
| 154 | WINBOOL (WINAPI *fpAddForm)(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
|
---|
| 155 | WINBOOL (WINAPI *fpDeleteForm)(HANDLE hPrinter, LPWSTR pFormName);
|
---|
| 156 | WINBOOL (WINAPI *fpGetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
---|
| 157 | LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
|
---|
| 158 | WINBOOL (WINAPI *fpSetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
---|
| 159 | LPBYTE pForm);
|
---|
| 160 | WINBOOL (WINAPI *fpEnumForms)(HANDLE hPrinter, DWORD Level, LPBYTE pForm,
|
---|
| 161 | DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
---|
| 162 | WINBOOL (WINAPI *fpEnumMonitors)(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
|
---|
| 163 | DWORD cbBuf, LPDWORD pcbNeeded,
|
---|
| 164 | LPDWORD pcReturned);
|
---|
| 165 | WINBOOL (WINAPI *fpEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
---|
| 166 | DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
---|
| 167 | WINBOOL (WINAPI *fpAddPort)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
---|
| 168 | WINBOOL (WINAPI *fpConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
---|
| 169 | WINBOOL (WINAPI *fpDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
---|
| 170 | HANDLE (WINAPI *fpCreatePrinterIC)(HANDLE hPrinter, LPDEVMODEW pDevMode);
|
---|
| 171 | WINBOOL (WINAPI *fpPlayGdiScriptOnPrinterIC)(HANDLE hPrinterIC, LPBYTE pIn,
|
---|
| 172 | DWORD cIn, LPBYTE pOut, DWORD cOut,
|
---|
| 173 | DWORD ul);
|
---|
| 174 | WINBOOL (WINAPI *fpDeletePrinterIC)(HANDLE hPrinterIC);
|
---|
| 175 | WINBOOL (WINAPI *fpAddPrinterConnection)(LPWSTR pName);
|
---|
| 176 | WINBOOL (WINAPI *fpDeletePrinterConnection)(LPWSTR pName);
|
---|
| 177 | DWORD (WINAPI *fpPrinterMessageBox)(HANDLE hPrinter, DWORD Error, HWND hWnd,
|
---|
| 178 | LPWSTR pText, LPWSTR pCaption,
|
---|
| 179 | DWORD dwType);
|
---|
| 180 | WINBOOL (WINAPI *fpAddMonitor)(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
|
---|
| 181 | WINBOOL (WINAPI *fpDeleteMonitor)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 182 | LPWSTR pMonitorName);
|
---|
| 183 | WINBOOL (WINAPI *fpResetPrinter)(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
|
---|
| 184 | WINBOOL (WINAPI *fpGetPrinterDriverEx)(HANDLE hPrinter, LPWSTR pEnvironment,
|
---|
| 185 | DWORD Level, LPBYTE pDriverInfo,
|
---|
| 186 | DWORD cbBuf, LPDWORD pcbNeeded,
|
---|
| 187 | DWORD dwClientMajorVersion,
|
---|
| 188 | DWORD dwClientMinorVersion,
|
---|
| 189 | PDWORD pdwServerMajorVersion,
|
---|
| 190 | PDWORD pdwServerMinorVersion);
|
---|
| 191 | HANDLE (WINAPI *fpFindFirstPrinterChangeNotification)(HANDLE hPrinter,
|
---|
| 192 | DWORD fdwFlags,
|
---|
| 193 | DWORD fdwOptions,
|
---|
| 194 | LPVOID pPrinterNotifyOptions);
|
---|
| 195 | WINBOOL (WINAPI *fpFindClosePrinterChangeNotification)(HANDLE hChange);
|
---|
| 196 | WINBOOL (WINAPI *fpAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer,
|
---|
| 197 | LPWSTR lpMonitorName);
|
---|
| 198 | WINBOOL (WINAPI *fpShutDown)(LPVOID pvReserved);
|
---|
| 199 | WINBOOL (WINAPI *fpRefreshPrinterChangeNotification)(HANDLE hPrinter,
|
---|
| 200 | DWORD Reserved,
|
---|
| 201 | PVOID pvReserved,
|
---|
| 202 | PVOID pPrinterNotifyInfo);
|
---|
| 203 | WINBOOL (WINAPI *fpOpenPrinterEx)(LPWSTR pPrinterName, LPHANDLE phPrinter,
|
---|
| 204 | LPPRINTER_DEFAULTSW pDefault, LPBYTE pClientInfo,
|
---|
| 205 | DWORD Level);
|
---|
| 206 | HANDLE (WINAPI *fpAddPrinterEx)(LPWSTR pName, DWORD Level, LPBYTE pPrinter,
|
---|
| 207 | LPBYTE pClientInfo, DWORD ClientInfoLevel);
|
---|
| 208 | WINBOOL (WINAPI *fpSetPort)(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
|
---|
| 209 | LPBYTE pPortInfo);
|
---|
| 210 | DWORD (WINAPI *fpEnumPrinterData)(HANDLE hPrinter, DWORD dwIndex,
|
---|
| 211 | LPWSTR pValueName, DWORD cbValueName,
|
---|
| 212 | LPDWORD pcbValueName, LPDWORD pType,
|
---|
| 213 | LPBYTE pData, DWORD cbData, LPDWORD pcbData);
|
---|
| 214 | DWORD (WINAPI *fpDeletePrinterData)(HANDLE hPrinter, LPWSTR pValueName);
|
---|
| 215 | DWORD (WINAPI *fpClusterSplOpen)(LPCWSTR pszServer, LPCWSTR pszResource,
|
---|
| 216 | PHANDLE phSpooler, LPCWSTR pszName,
|
---|
| 217 | LPCWSTR pszAddress);
|
---|
| 218 | DWORD (WINAPI *fpClusterSplClose)(HANDLE hSpooler);
|
---|
| 219 | DWORD (WINAPI *fpClusterSplIsAlive)(HANDLE hSpooler);
|
---|
| 220 | DWORD (WINAPI *fpSetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
---|
| 221 | LPCWSTR pValueName, DWORD Type,
|
---|
| 222 | LPBYTE pData, DWORD cbData);
|
---|
| 223 | DWORD (WINAPI *fpGetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
---|
| 224 | LPCWSTR pValueName, LPDWORD pType,
|
---|
| 225 | LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
|
---|
| 226 | DWORD (WINAPI *fpEnumPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
---|
| 227 | LPBYTE pEnumValues, DWORD cbEnumValues,
|
---|
| 228 | LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
|
---|
| 229 | DWORD (WINAPI *fpEnumPrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName,
|
---|
| 230 | LPWSTR pSubkey, DWORD cbSubkey, LPDWORD pcbSubkey);
|
---|
| 231 | DWORD (WINAPI *fpDeletePrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
---|
| 232 | LPCWSTR pValueName);
|
---|
| 233 | DWORD (WINAPI *fpDeletePrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName);
|
---|
| 234 | WINBOOL (WINAPI *fpSeekPrinter)(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove,
|
---|
| 235 | PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod,
|
---|
| 236 | WINBOOL bWrite);
|
---|
| 237 | WINBOOL (WINAPI *fpDeletePrinterDriverEx)(LPWSTR pName, LPWSTR pEnvironment,
|
---|
| 238 | LPWSTR pDriverName, DWORD dwDeleteFlag,
|
---|
| 239 | DWORD dwVersionNum);
|
---|
| 240 | WINBOOL (WINAPI *fpAddPerMachineConnection)(LPCWSTR pServer,
|
---|
| 241 | LPCWSTR pPrinterName, LPCWSTR pPrintServer,
|
---|
| 242 | LPCWSTR pProvider);
|
---|
| 243 | WINBOOL (WINAPI *fpDeletePerMachineConnection)(LPCWSTR pServer,
|
---|
| 244 | LPCWSTR pPrinterName);
|
---|
| 245 | WINBOOL (WINAPI *fpEnumPerMachineConnections)(LPCWSTR pServer,
|
---|
| 246 | LPBYTE pPrinterEnum, DWORD cbBuf,
|
---|
| 247 | LPDWORD pcbNeeded,
|
---|
| 248 | LPDWORD pcReturned);
|
---|
| 249 | WINBOOL (WINAPI *fpXcvData)(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
|
---|
| 250 | DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
|
---|
| 251 | PDWORD pcbOutputNeeded, PDWORD pdwStatus);
|
---|
| 252 | WINBOOL (WINAPI *fpAddPrinterDriverEx)(LPWSTR pName, DWORD Level,
|
---|
| 253 | LPBYTE pDriverInfo, DWORD dwFileCopyFlags);
|
---|
| 254 | WINBOOL (WINAPI *fpSplReadPrinter)(HANDLE hPrinter, LPBYTE *pBuf, DWORD cbBuf);
|
---|
| 255 | WINBOOL (WINAPI *fpDriverUnloadComplete)(LPWSTR pDriverFile);
|
---|
| 256 | WINBOOL (WINAPI *fpGetSpoolFileInfo)(HANDLE hPrinter, LPWSTR *pSpoolDir,
|
---|
| 257 | LPHANDLE phFile, HANDLE hSpoolerProcess,
|
---|
| 258 | HANDLE hAppProcess);
|
---|
| 259 | WINBOOL (WINAPI *fpCommitSpoolData)(HANDLE hPrinter, DWORD cbCommit);
|
---|
| 260 | WINBOOL (WINAPI *fpCloseSpoolFileHandle)(HANDLE hPrinter);
|
---|
| 261 | WINBOOL (WINAPI *fpFlushPrinter)(HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf,
|
---|
| 262 | LPDWORD pcWritten, DWORD cSleep);
|
---|
| 263 | DWORD (WINAPI *fpSendRecvBidiData)(HANDLE hPort, LPCWSTR pAction,
|
---|
| 264 | LPBIDI_REQUEST_CONTAINER pReqData,
|
---|
| 265 | LPBIDI_RESPONSE_CONTAINER *ppResData);
|
---|
| 266 | WINBOOL (WINAPI *fpAddDriverCatalog)(HANDLE hPrinter, DWORD dwLevel,
|
---|
| 267 | VOID *pvDriverInfCatInfo, DWORD dwCatalogCopyFlags);
|
---|
| 268 | } PRINTPROVIDOR, *LPPRINTPROVIDOR;
|
---|
| 269 |
|
---|
| 270 | typedef struct _PRINTPROCESSOROPENDATA {
|
---|
| 271 | PDEVMODEW pDevMode;
|
---|
| 272 | LPWSTR pDatatype;
|
---|
| 273 | LPWSTR pParameters;
|
---|
| 274 | LPWSTR pDocumentName;
|
---|
| 275 | DWORD JobId;
|
---|
| 276 | LPWSTR pOutputFile;
|
---|
| 277 | LPWSTR pPrinterName;
|
---|
| 278 | } PRINTPROCESSOROPENDATA, *LPPRINTPROCESSOROPENDATA, *PPRINTPROCESSOROPENDATA;
|
---|
| 279 |
|
---|
| 280 | typedef struct _MONITORREG {
|
---|
| 281 | DWORD cbSize;
|
---|
| 282 | LONG (WINAPI *fpCreateKey)(HANDLE hcKey, LPCWSTR pszSubKey, DWORD dwOptions,
|
---|
| 283 | REGSAM samDesired,
|
---|
| 284 | PSECURITY_ATTRIBUTES pSecurityAttributes,
|
---|
| 285 | PHANDLE phckResult, PDWORD pdwDisposition,
|
---|
| 286 | HANDLE hSpooler);
|
---|
| 287 | LONG (WINAPI *fpOpenKey)(HANDLE hcKey, LPCWSTR pszSubKey, REGSAM samDesired,
|
---|
| 288 | PHANDLE phkResult, HANDLE hSpooler);
|
---|
| 289 | LONG (WINAPI *fpCloseKey)(HANDLE hcKey, HANDLE hSpooler);
|
---|
| 290 | LONG (WINAPI *fpDeleteKey)(HANDLE hcKey, LPCWSTR pszSubKey, HANDLE hSpooler);
|
---|
| 291 | LONG (WINAPI *fpEnumKey)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszName,
|
---|
| 292 | PDWORD pcchName, PFILETIME pftLastWriteTime,
|
---|
| 293 | HANDLE hSpooler);
|
---|
| 294 | LONG (WINAPI *fpQueryInfoKey)(HANDLE hcKey, PDWORD pcSubKeys, PDWORD pcbKey,
|
---|
| 295 | PDWORD pcValues, PDWORD pcbValue, PDWORD pcbData,
|
---|
| 296 | PDWORD pcbSecurityDescriptor,
|
---|
| 297 | PFILETIME pftLastWriteTime,
|
---|
| 298 | HANDLE hSpooler);
|
---|
| 299 | LONG (WINAPI *fpSetValue)(HANDLE hcKey, LPCWSTR pszValue, DWORD dwType,
|
---|
| 300 | const BYTE* pData, DWORD cbData, HANDLE hSpooler);
|
---|
| 301 | LONG (WINAPI *fpDeleteValue)(HANDLE hcKey, LPCWSTR pszValue, HANDLE hSpooler);
|
---|
| 302 | LONG (WINAPI *fpEnumValue)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszValue,
|
---|
| 303 | PDWORD pcbValue, PDWORD pType, PBYTE pData, PDWORD pcbData,
|
---|
| 304 | HANDLE hSpooler);
|
---|
| 305 | LONG (WINAPI *fpQueryValue)(HANDLE hcKey, LPCWSTR pszValue, PDWORD pType,
|
---|
| 306 | PBYTE pData, PDWORD pcbData, HANDLE hSpooler);
|
---|
| 307 | } MONITORREG, *PMONITORREG;
|
---|
| 308 |
|
---|
| 309 | typedef struct _MONITORINIT {
|
---|
| 310 | DWORD cbSize;
|
---|
| 311 | HANDLE hSpooler;
|
---|
| 312 | HKEYMONITOR hckRegistryRoot;
|
---|
| 313 | PMONITORREG pMonitorReg;
|
---|
| 314 | WINBOOL bLocal;
|
---|
| 315 | LPCWSTR pszServerName;
|
---|
| 316 | } MONITORINIT, *PMONITORINIT;
|
---|
| 317 |
|
---|
| 318 | typedef struct _MONITOR {
|
---|
| 319 | WINBOOL (WINAPI *pfnEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
---|
| 320 | DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
---|
| 321 | WINBOOL (WINAPI *pfnOpenPort)(LPWSTR pName, PHANDLE pHandle);
|
---|
| 322 | WINBOOL (WINAPI *pfnOpenPortEx)(LPWSTR pPortName, LPWSTR pPrinterName,
|
---|
| 323 | PHANDLE pHandle, struct _MONITOR *pMonitor);
|
---|
| 324 | WINBOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR pPrinterName,
|
---|
| 325 | DWORD JobId, DWORD Level, LPBYTE pDocInfo);
|
---|
| 326 | WINBOOL (WINAPI *pfnWritePort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuf,
|
---|
| 327 | LPDWORD pcbWritten);
|
---|
| 328 | WINBOOL (WINAPI *pfnReadPort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuffer,
|
---|
| 329 | LPDWORD pcbRead);
|
---|
| 330 | WINBOOL (WINAPI *pfnEndDocPort)(HANDLE hPort);
|
---|
| 331 | WINBOOL (WINAPI *pfnClosePort)(HANDLE hPort);
|
---|
| 332 | WINBOOL (WINAPI *pfnAddPort)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
---|
| 333 | WINBOOL (WINAPI *pfnAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer,
|
---|
| 334 | LPWSTR lpMonitorName);
|
---|
| 335 | WINBOOL (WINAPI *pfnConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
---|
| 336 | WINBOOL (WINAPI *pfnDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
---|
| 337 | WINBOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID,
|
---|
| 338 | LPWSTR pValueName, LPWSTR lpInBuffer,
|
---|
| 339 | DWORD cbInBuffer, LPWSTR lpOutBuffer,
|
---|
| 340 | DWORD cbOutBuffer, LPDWORD lpcbReturned);
|
---|
| 341 | WINBOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO,
|
---|
| 342 | DWORD reserved);
|
---|
| 343 | WINBOOL (WINAPI *pfnXcvOpenPort)(LPCWSTR pszObject, ACCESS_MASK GrantedAccess, PHANDLE phXcv);
|
---|
| 344 | DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName,
|
---|
| 345 | PBYTE pInputData, DWORD cbInputData,
|
---|
| 346 | PBYTE pOutputData, DWORD cbOutputData,
|
---|
| 347 | PDWORD pcbOutputNeeded);
|
---|
| 348 | WINBOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv);
|
---|
| 349 | } MONITOR, *LPMONITOR;
|
---|
| 350 |
|
---|
| 351 | typedef struct _MONITOREX {
|
---|
| 352 | DWORD dwMonitorSize;
|
---|
| 353 | MONITOR Monitor;
|
---|
| 354 | } MONITOREX, *LPMONITOREX;
|
---|
| 355 |
|
---|
| 356 | typedef struct _MONITOR2 {
|
---|
| 357 | DWORD cbSize;
|
---|
| 358 | WINBOOL (WINAPI *pfnEnumPorts)(HANDLE hMonitor, LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
---|
| 359 | DWORD cbBuf, LPDWORD pcbNeeded,
|
---|
| 360 | LPDWORD pcReturned);
|
---|
| 361 | WINBOOL (WINAPI *pfnOpenPort)(HANDLE hMonitor, LPWSTR pName, PHANDLE pHandle);
|
---|
| 362 | WINBOOL (WINAPI *pfnOpenPortEx)(HANDLE hMonitor, HANDLE hMonitorPort, LPWSTR pPortName, LPWSTR pPrinterName,
|
---|
| 363 | PHANDLE pHandle, struct _MONITOR2 *pMonitor2);
|
---|
| 364 | WINBOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR pPrinterName,
|
---|
| 365 | DWORD JobId, DWORD Level, LPBYTE pDocInfo);
|
---|
| 366 | WINBOOL (WINAPI *pfnWritePort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuf,
|
---|
| 367 | LPDWORD pcbWritten);
|
---|
| 368 | WINBOOL (WINAPI *pfnReadPort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuffer,
|
---|
| 369 | LPDWORD pcbRead);
|
---|
| 370 | WINBOOL (WINAPI *pfnEndDocPort)(HANDLE hPort);
|
---|
| 371 | WINBOOL (WINAPI *pfnClosePort)(HANDLE hPort);
|
---|
| 372 | WINBOOL (WINAPI *pfnAddPort)(HANDLE hMonitor, LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
---|
| 373 | WINBOOL (WINAPI *pfnAddPortEx)(HANDLE hMonitor, LPWSTR pName, DWORD Level, LPBYTE lpBuffer,
|
---|
| 374 | LPWSTR lpMonitorName);
|
---|
| 375 | WINBOOL (WINAPI *pfnConfigurePort)(HANDLE hMonitor, LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
---|
| 376 | WINBOOL (WINAPI *pfnDeletePort)(HANDLE hMonitor, LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
---|
| 377 | WINBOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID,
|
---|
| 378 | LPWSTR pValueName, LPWSTR lpInBuffer,
|
---|
| 379 | DWORD cbInBuffer, LPWSTR lpOutBuffer,
|
---|
| 380 | DWORD cbOutBuffer, LPDWORD lpcbReturned);
|
---|
| 381 | WINBOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO,
|
---|
| 382 | DWORD reserved);
|
---|
| 383 | WINBOOL (WINAPI *pfnXcvOpenPort)(HANDLE hMonitor, LPCWSTR pszObject,
|
---|
| 384 | ACCESS_MASK GrantedAccess, PHANDLE phXcv);
|
---|
| 385 | DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName,
|
---|
| 386 | PBYTE pInputData, DWORD cbInputData,
|
---|
| 387 | PBYTE pOutputData, DWORD cbOutputData,
|
---|
| 388 | PDWORD pcbOutputNeeded);
|
---|
| 389 | WINBOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv);
|
---|
| 390 | VOID (WINAPI *pfnShutdown)(HANDLE hMonitor);
|
---|
| 391 | #if (NTDDI_VERSION >= NTDDI_WINXP)
|
---|
| 392 | DWORD (WINAPI *pfnSendRecvBidiDataFromPort)(HANDLE hPort, DWORD dwAccessBit,
|
---|
| 393 | LPCWSTR pAction,
|
---|
| 394 | PBIDI_REQUEST_CONTAINER pReqData,
|
---|
| 395 | PBIDI_RESPONSE_CONTAINER *ppResData);
|
---|
| 396 | #endif
|
---|
| 397 | #if (NTDDI_VERSION >= NTDDI_WIN7)
|
---|
| 398 | DWORD (WINAPI *pfnNotifyUsedPorts)(HANDLE hMonitor, DWORD cPorts,
|
---|
| 399 | PCWSTR *ppszPorts);
|
---|
| 400 |
|
---|
| 401 | DWORD (WINAPI *pfnNotifyUnusedPorts)(HANDLE hMonitor, DWORD cPorts,
|
---|
| 402 | PCWSTR *ppszPorts);
|
---|
| 403 | #endif
|
---|
| 404 | } MONITOR2, *LPMONITOR2, *PMONITOR2;
|
---|
| 405 |
|
---|
| 406 | typedef struct _MONITORUI {
|
---|
| 407 | DWORD dwMonitorUISize;
|
---|
| 408 | WINBOOL (WINAPI *pfnAddPortUI)(PCWSTR pszServer, HWND hWnd,
|
---|
| 409 | PCWSTR pszPortNameIn, PWSTR *ppszPortNameOut);
|
---|
| 410 | WINBOOL (WINAPI *pfnConfigurePortUI)(PCWSTR pName, HWND hWnd, PCWSTR pPortName);
|
---|
| 411 | WINBOOL (WINAPI *pfnDeletePortUI)(PCWSTR pszServer, HWND hWnd, PCWSTR pszPortName);
|
---|
| 412 | } MONITORUI, *PMONITORUI;
|
---|
| 413 |
|
---|
| 414 | #if (NTDDI_VERSION >= NTDDI_WINXP)
|
---|
| 415 |
|
---|
| 416 | typedef enum {
|
---|
| 417 | kMessageBox = 0
|
---|
| 418 | } UI_TYPE;
|
---|
| 419 |
|
---|
| 420 | typedef struct {
|
---|
| 421 | DWORD cbSize;
|
---|
| 422 | LPWSTR pTitle;
|
---|
| 423 | LPWSTR pMessage;
|
---|
| 424 | DWORD Style;
|
---|
| 425 | DWORD dwTimeout;
|
---|
| 426 | WINBOOL bWait;
|
---|
| 427 | } MESSAGEBOX_PARAMS, *PMESSAGEBOX_PARAMS;
|
---|
| 428 |
|
---|
| 429 | typedef struct {
|
---|
| 430 | UI_TYPE UIType;
|
---|
| 431 | MESSAGEBOX_PARAMS MessageBoxParams;
|
---|
| 432 | } SHOWUIPARAMS, *PSHOWUIPARAMS;
|
---|
| 433 |
|
---|
| 434 | #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
---|
| 435 |
|
---|
| 436 | #if (NTDDI_VERSION >= NTDDI_WS03)
|
---|
| 437 | #ifndef __ATTRIBUTE_INFO_3__
|
---|
| 438 | #define __ATTRIBUTE_INFO_3__
|
---|
| 439 | typedef struct _ATTRIBUTE_INFO_3 {
|
---|
| 440 | DWORD dwJobNumberOfPagesPerSide;
|
---|
| 441 | DWORD dwDrvNumberOfPagesPerSide;
|
---|
| 442 | DWORD dwNupBorderFlags;
|
---|
| 443 | DWORD dwJobPageOrderFlags;
|
---|
| 444 | DWORD dwDrvPageOrderFlags;
|
---|
| 445 | DWORD dwJobNumberOfCopies;
|
---|
| 446 | DWORD dwDrvNumberOfCopies;
|
---|
| 447 | DWORD dwColorOptimization;
|
---|
| 448 | short dmPrintQuality;
|
---|
| 449 | short dmYResolution;
|
---|
| 450 | } ATTRIBUTE_INFO_3, *PATTRIBUTE_INFO_3;
|
---|
| 451 | #endif /* __ATTRIBUTE_INFO_3__ */
|
---|
| 452 | #endif /* (NTDDI_VERSION >= NTDDI_WS03) */
|
---|
| 453 |
|
---|
| 454 | #if (NTDDI_VERSION >= NTDDI_VISTA)
|
---|
| 455 |
|
---|
| 456 | typedef WINBOOL
|
---|
| 457 | (CALLBACK *ROUTER_NOTIFY_CALLBACK)(
|
---|
| 458 | DWORD dwCommand,
|
---|
| 459 | PVOID pContext,
|
---|
| 460 | DWORD dwColor,
|
---|
| 461 | PPRINTER_NOTIFY_INFO pNofityInfo,
|
---|
| 462 | DWORD fdwFlags,
|
---|
| 463 | PDWORD pdwResult);
|
---|
| 464 |
|
---|
| 465 | typedef enum _NOTIFICATION_CALLBACK_COMMANDS {
|
---|
| 466 | NOTIFICATION_COMMAND_NOTIFY,
|
---|
| 467 | NOTIFICATION_COMMAND_CONTEXT_ACQUIRE,
|
---|
| 468 | NOTIFICATION_COMMAND_CONTEXT_RELEASE
|
---|
| 469 | } NOTIFICATION_CALLBACK_COMMANDS;
|
---|
| 470 |
|
---|
| 471 | typedef struct _NOTIFICATION_CONFIG_1 {
|
---|
| 472 | UINT cbSize;
|
---|
| 473 | DWORD fdwFlags;
|
---|
| 474 | ROUTER_NOTIFY_CALLBACK pfnNotifyCallback;
|
---|
| 475 | PVOID pContext;
|
---|
| 476 | } NOTIFICATION_CONFIG_1, *PNOTIFICATION_CONFIG_1;
|
---|
| 477 |
|
---|
| 478 | typedef enum _NOTIFICATION_CONFIG_FLAGS {
|
---|
| 479 | NOTIFICATION_CONFIG_CREATE_EVENT = 1 << 0,
|
---|
| 480 | NOTIFICATION_CONFIG_REGISTER_CALLBACK = 1 << 1,
|
---|
| 481 | NOTIFICATION_CONFIG_EVENT_TRIGGER = 1 << 2,
|
---|
| 482 | NOTIFICATION_CONFIG_ASYNC_CHANNEL = 1 << 3
|
---|
| 483 | } NOTIFICATION_CONFIG_FLAGS;
|
---|
| 484 |
|
---|
| 485 | typedef struct _SPLCLIENT_INFO_3 {
|
---|
| 486 | UINT cbSize;
|
---|
| 487 | DWORD dwFlags;
|
---|
| 488 | DWORD dwSize;
|
---|
| 489 | PWSTR pMachineName;
|
---|
| 490 | PWSTR pUserName;
|
---|
| 491 | DWORD dwBuildNum;
|
---|
| 492 | DWORD dwMajorVersion;
|
---|
| 493 | DWORD dwMinorVersion;
|
---|
| 494 | WORD wProcessorArchitecture;
|
---|
| 495 | UINT64 hSplPrinter;
|
---|
| 496 | } SPLCLIENT_INFO_3, *PSPLCLIENT_INFO_3, *LPSPLCLIENT_INFO_3;
|
---|
| 497 |
|
---|
| 498 | #ifndef __ATTRIBUTE_INFO_4__
|
---|
| 499 | #define __ATTRIBUTE_INFO_4__
|
---|
| 500 |
|
---|
| 501 | typedef struct _ATTRIBUTE_INFO_4 {
|
---|
| 502 | DWORD dwJobNumberOfPagesPerSide;
|
---|
| 503 | DWORD dwDrvNumberOfPagesPerSide;
|
---|
| 504 | DWORD dwNupBorderFlags;
|
---|
| 505 | DWORD dwJobPageOrderFlags;
|
---|
| 506 | DWORD dwDrvPageOrderFlags;
|
---|
| 507 | DWORD dwJobNumberOfCopies;
|
---|
| 508 | DWORD dwDrvNumberOfCopies;
|
---|
| 509 | DWORD dwColorOptimization;
|
---|
| 510 | short dmPrintQuality;
|
---|
| 511 | short dmYResolution;
|
---|
| 512 | DWORD dwDuplexFlags;
|
---|
| 513 | DWORD dwNupDirection;
|
---|
| 514 | DWORD dwBookletFlags;
|
---|
| 515 | DWORD dwScalingPercentX;
|
---|
| 516 | DWORD dwScalingPercentY;
|
---|
| 517 | } ATTRIBUTE_INFO_4, *PATTRIBUTE_INFO_4;
|
---|
| 518 |
|
---|
| 519 | #define REVERSE_PAGES_FOR_REVERSE_DUPLEX (0x00000001)
|
---|
| 520 | #define DONT_SEND_EXTRA_PAGES_FOR_DUPLEX (0x00000001 << 1)
|
---|
| 521 |
|
---|
| 522 | #define RIGHT_THEN_DOWN (0x00000001)
|
---|
| 523 | #define DOWN_THEN_RIGHT (0x00000001 << 1)
|
---|
| 524 | #define LEFT_THEN_DOWN (0x00000001 << 2)
|
---|
| 525 | #define DOWN_THEN_LEFT (0x00000001 << 3)
|
---|
| 526 |
|
---|
| 527 | #define BOOKLET_EDGE_LEFT 0x00000000
|
---|
| 528 | #define BOOKLET_EDGE_RIGHT 0x00000001
|
---|
| 529 |
|
---|
| 530 | #endif /* __ATTRIBUTE_INFO_4__ */
|
---|
| 531 |
|
---|
| 532 | #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
---|
| 533 |
|
---|
| 534 | #if (OSVER(NTDDI_VERSION) == NTDDI_W2K)
|
---|
| 535 | typedef SPLCLIENT_INFO_2_W2K SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
---|
| 536 | #elif ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) || (OSVER(NTDDI_VERSION) == NTDDI_WS03))
|
---|
| 537 | typedef SPLCLIENT_INFO_2_WINXP SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
---|
| 538 | #else
|
---|
| 539 | typedef SPLCLIENT_INFO_2_LONGHORN SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
---|
| 540 | #endif /* (OSVER(NTDDI_VERSION) == NTDDI_W2K) */
|
---|
| 541 |
|
---|
| 542 | WINBOOL
|
---|
| 543 | WINAPI
|
---|
| 544 | InitializePrintProvidor(
|
---|
| 545 | LPPRINTPROVIDOR pPrintProvidor,
|
---|
| 546 | DWORD cbPrintProvidor,
|
---|
| 547 | LPWSTR pFullRegistryPath);
|
---|
| 548 |
|
---|
| 549 | HANDLE
|
---|
| 550 | WINAPI
|
---|
| 551 | OpenPrintProcessor(
|
---|
| 552 | LPWSTR pPrinterName,
|
---|
| 553 | PPRINTPROCESSOROPENDATA pPrintProcessorOpenData);
|
---|
| 554 |
|
---|
| 555 | WINBOOL
|
---|
| 556 | WINAPI
|
---|
| 557 | PrintDocumentOnPrintProcessor(
|
---|
| 558 | HANDLE hPrintProcessor,
|
---|
| 559 | LPWSTR pDocumentName);
|
---|
| 560 |
|
---|
| 561 | WINBOOL
|
---|
| 562 | WINAPI
|
---|
| 563 | ClosePrintProcessor(
|
---|
| 564 | HANDLE hPrintProcessor);
|
---|
| 565 |
|
---|
| 566 | WINBOOL
|
---|
| 567 | WINAPI
|
---|
| 568 | ControlPrintProcessor(
|
---|
| 569 | HANDLE hPrintProcessor,
|
---|
| 570 | DWORD Command);
|
---|
| 571 |
|
---|
| 572 | DWORD
|
---|
| 573 | WINAPI
|
---|
| 574 | GetPrintProcessorCapabilities(
|
---|
| 575 | LPTSTR pValueName,
|
---|
| 576 | DWORD dwAttributes,
|
---|
| 577 | LPBYTE pData,
|
---|
| 578 | DWORD nSize,
|
---|
| 579 | LPDWORD pcbNeeded);
|
---|
| 580 |
|
---|
| 581 | WINBOOL
|
---|
| 582 | WINAPI
|
---|
| 583 | InitializeMonitor(
|
---|
| 584 | LPWSTR pRegistryRoot);
|
---|
| 585 |
|
---|
| 586 | WINBOOL
|
---|
| 587 | WINAPI
|
---|
| 588 | OpenPort(
|
---|
| 589 | LPWSTR pName,
|
---|
| 590 | PHANDLE pHandle);
|
---|
| 591 |
|
---|
| 592 | WINBOOL
|
---|
| 593 | WINAPI
|
---|
| 594 | WritePort(
|
---|
| 595 | HANDLE hPort,
|
---|
| 596 | LPBYTE pBuffer,
|
---|
| 597 | DWORD cbBuf,
|
---|
| 598 | LPDWORD pcbWritten);
|
---|
| 599 |
|
---|
| 600 | WINBOOL
|
---|
| 601 | WINAPI
|
---|
| 602 | ReadPort(
|
---|
| 603 | HANDLE hPort,
|
---|
| 604 | LPBYTE pBuffer,
|
---|
| 605 | DWORD cbBuffer,
|
---|
| 606 | LPDWORD pcbRead);
|
---|
| 607 |
|
---|
| 608 | WINBOOL
|
---|
| 609 | WINAPI
|
---|
| 610 | ClosePort(
|
---|
| 611 | HANDLE hPort);
|
---|
| 612 |
|
---|
| 613 | WINBOOL
|
---|
| 614 | WINAPI
|
---|
| 615 | XcvOpenPort(
|
---|
| 616 | LPCWSTR pszObject,
|
---|
| 617 | ACCESS_MASK GrantedAccess,
|
---|
| 618 | PHANDLE phXcv);
|
---|
| 619 |
|
---|
| 620 | DWORD
|
---|
| 621 | WINAPI
|
---|
| 622 | XcvDataPort(
|
---|
| 623 | HANDLE hXcv,
|
---|
| 624 | LPCWSTR pszDataName,
|
---|
| 625 | PBYTE pInputData,
|
---|
| 626 | DWORD cbInputData,
|
---|
| 627 | PBYTE pOutputData,
|
---|
| 628 | DWORD cbOutputData,
|
---|
| 629 | PDWORD pcbOutputNeeded);
|
---|
| 630 |
|
---|
| 631 | WINBOOL
|
---|
| 632 | WINAPI
|
---|
| 633 | XcvClosePort(
|
---|
| 634 | HANDLE hXcv);
|
---|
| 635 |
|
---|
| 636 | WINBOOL
|
---|
| 637 | WINAPI
|
---|
| 638 | AddPortUI(
|
---|
| 639 | PCWSTR pszServer,
|
---|
| 640 | HWND hWnd,
|
---|
| 641 | PCWSTR pszMonitorNameIn,
|
---|
| 642 | PWSTR *ppszPortNameOut);
|
---|
| 643 |
|
---|
| 644 | WINBOOL
|
---|
| 645 | WINAPI
|
---|
| 646 | ConfigurePortUI(
|
---|
| 647 | PCWSTR pszServer,
|
---|
| 648 | HWND hWnd,
|
---|
| 649 | PCWSTR pszPortName);
|
---|
| 650 |
|
---|
| 651 | WINBOOL
|
---|
| 652 | WINAPI
|
---|
| 653 | DeletePortUI(
|
---|
| 654 | PCWSTR pszServer,
|
---|
| 655 | HWND hWnd,
|
---|
| 656 | PCWSTR pszPortName);
|
---|
| 657 |
|
---|
| 658 | WINBOOL
|
---|
| 659 | WINAPI
|
---|
| 660 | SplDeleteSpoolerPortStart(
|
---|
| 661 | PCWSTR pPortName);
|
---|
| 662 |
|
---|
| 663 | WINBOOL
|
---|
| 664 | WINAPI
|
---|
| 665 | SplDeleteSpoolerPortEnd(
|
---|
| 666 | PCWSTR pName,
|
---|
| 667 | WINBOOL bDeletePort);
|
---|
| 668 |
|
---|
| 669 | WINBOOL
|
---|
| 670 | WINAPI
|
---|
| 671 | SpoolerCopyFileEvent(
|
---|
| 672 | LPWSTR pszPrinterName,
|
---|
| 673 | LPWSTR pszKey,
|
---|
| 674 | DWORD dwCopyFileEvent);
|
---|
| 675 |
|
---|
| 676 | DWORD
|
---|
| 677 | WINAPI
|
---|
| 678 | GenerateCopyFilePaths(
|
---|
| 679 | LPCWSTR pszPrinterName,
|
---|
| 680 | LPCWSTR pszDirectory,
|
---|
| 681 | LPBYTE pSplClientInfo,
|
---|
| 682 | DWORD dwLevel,
|
---|
| 683 | LPWSTR pszSourceDir,
|
---|
| 684 | LPDWORD pcchSourceDirSize,
|
---|
| 685 | LPWSTR pszTargetDir,
|
---|
| 686 | LPDWORD pcchTargetDirSize,
|
---|
| 687 | DWORD dwFlags);
|
---|
| 688 |
|
---|
| 689 | HANDLE WINAPI CreatePrinterIC(HANDLE hPrinter, LPDEVMODEW pDevMode);
|
---|
| 690 | WINBOOL WINAPI PlayGdiScriptOnPrinterIC(HANDLE hPrinterIC, LPBYTE pIn,
|
---|
| 691 | DWORD cIn, LPBYTE pOut, DWORD cOut, DWORD ul);
|
---|
| 692 | WINBOOL WINAPI DeletePrinterIC(HANDLE hPrinterIC);
|
---|
| 693 | WINBOOL WINAPI DevQueryPrint(HANDLE hPrinter, LPDEVMODEW pDevMode, DWORD *pResID);
|
---|
| 694 | HANDLE WINAPI RevertToPrinterSelf(VOID);
|
---|
| 695 | WINBOOL WINAPI ImpersonatePrinterClient(HANDLE hToken);
|
---|
| 696 | WINBOOL WINAPI ReplyPrinterChangeNotification(HANDLE hNotify, DWORD fdwFlags,
|
---|
| 697 | PDWORD pdwResult, PVOID pPrinterNotifyInfo);
|
---|
| 698 | WINBOOL WINAPI ReplyPrinterChangeNotificationEx(HANDLE hNotify, DWORD dwColor,
|
---|
| 699 | DWORD fdwFlags, PDWORD pdwResult,
|
---|
| 700 | PVOID pPrinterNotifyInfo);
|
---|
| 701 | WINBOOL WINAPI PartialReplyPrinterChangeNotification(HANDLE hNotify,
|
---|
| 702 | PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc);
|
---|
| 703 | PPRINTER_NOTIFY_INFO WINAPI RouterAllocPrinterNotifyInfo(DWORD cPrinterNotifyInfoData);
|
---|
| 704 | WINBOOL WINAPI RouterFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo);
|
---|
| 705 |
|
---|
| 706 | WINBOOL WINAPI AppendPrinterNotifyInfoData(PPRINTER_NOTIFY_INFO pInfoDest,
|
---|
| 707 | PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc,
|
---|
| 708 | DWORD fdwFlags);
|
---|
| 709 | DWORD WINAPI CallRouterFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
---|
| 710 | DWORD fdwFlags,
|
---|
| 711 | DWORD fdwOptions,
|
---|
| 712 | HANDLE hNotify,
|
---|
| 713 | PPRINTER_NOTIFY_OPTIONS pPrinterNotifyOptions);
|
---|
| 714 | WINBOOL WINAPI ProvidorFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
---|
| 715 | DWORD fdwFlags,
|
---|
| 716 | DWORD fdwOptions,
|
---|
| 717 | HANDLE hNotify,
|
---|
| 718 | PVOID pvReserved0,
|
---|
| 719 | PVOID pvReserved1);
|
---|
| 720 | WINBOOL WINAPI ProvidorFindClosePrinterChangeNotification(HANDLE hPrinter);
|
---|
| 721 |
|
---|
| 722 | /* Spooler */
|
---|
| 723 | WINBOOL WINAPI SpoolerFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
---|
| 724 | DWORD fdwFlags,
|
---|
| 725 | DWORD fdwOptions,
|
---|
| 726 | PHANDLE phEvent,
|
---|
| 727 | PVOID pPrinterNotifyOptions,
|
---|
| 728 | PVOID pvReserved);
|
---|
| 729 | WINBOOL WINAPI SpoolerFindNextPrinterChangeNotification(HANDLE hPrinter,
|
---|
| 730 | LPDWORD pfdwChange,
|
---|
| 731 | PVOID pvReserved0,
|
---|
| 732 | PVOID ppPrinterNotifyInfo);
|
---|
| 733 | VOID WINAPI SpoolerFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo);
|
---|
| 734 | WINBOOL WINAPI SpoolerFindClosePrinterChangeNotification(HANDLE hPrinter);
|
---|
| 735 |
|
---|
| 736 | /* Port monitor / Language monitor / Print monitor */
|
---|
| 737 | LPMONITOR2 WINAPI InitializePrintMonitor2(PMONITORINIT pMonitorInit,
|
---|
| 738 | PHANDLE phMonitor);
|
---|
| 739 | PMONITORUI WINAPI InitializePrintMonitorUI(VOID);
|
---|
| 740 | LPMONITOREX WINAPI InitializePrintMonitor(LPWSTR pRegistryRoot);
|
---|
| 741 | WINBOOL WINAPI InitializeMonitorEx(LPWSTR pRegistryRoot, LPMONITOR pMonitor);
|
---|
| 742 |
|
---|
| 743 | #if (NTDDI_VERSION >= NTDDI_WINXP)
|
---|
| 744 |
|
---|
| 745 | PBIDI_RESPONSE_CONTAINER WINAPI RouterAllocBidiResponseContainer(DWORD Count);
|
---|
| 746 | PVOID WINAPI RouterAllocBidiMem(size_t NumBytes);
|
---|
| 747 | DWORD WINAPI RouterFreeBidiResponseContainer(PBIDI_RESPONSE_CONTAINER pData);
|
---|
| 748 | VOID WINAPI RouterFreeBidiMem(PVOID pMemPointer);
|
---|
| 749 |
|
---|
| 750 | WINBOOL
|
---|
| 751 | WINAPI
|
---|
| 752 | SplPromptUIInUsersSession(
|
---|
| 753 | HANDLE hPrinter,
|
---|
| 754 | DWORD JobId,
|
---|
| 755 | PSHOWUIPARAMS pUIParams,
|
---|
| 756 | DWORD *pResponse);
|
---|
| 757 |
|
---|
| 758 | DWORD
|
---|
| 759 | WINAPI
|
---|
| 760 | SplIsSessionZero(
|
---|
| 761 | HANDLE hPrinter,
|
---|
| 762 | DWORD JobId,
|
---|
| 763 | WINBOOL *pIsSessionZero);
|
---|
| 764 |
|
---|
| 765 | #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
---|
| 766 |
|
---|
| 767 | #if (NTDDI_VERSION >= NTDDI_WS03)
|
---|
| 768 | WINBOOL
|
---|
| 769 | WINAPI
|
---|
| 770 | GetJobAttributes(
|
---|
| 771 | LPWSTR pPrinterName,
|
---|
| 772 | LPDEVMODEW pDevmode,
|
---|
| 773 | PATTRIBUTE_INFO_3 pAttributeInfo);
|
---|
| 774 | #endif
|
---|
| 775 |
|
---|
| 776 | #if (NTDDI_VERSION >= NTDDI_VISTA)
|
---|
| 777 |
|
---|
| 778 | #define FILL_WITH_DEFAULTS 0x1
|
---|
| 779 |
|
---|
| 780 | WINBOOL
|
---|
| 781 | WINAPI
|
---|
| 782 | GetJobAttributesEx(
|
---|
| 783 | LPWSTR pPrinterName,
|
---|
| 784 | LPDEVMODEW pDevmode,
|
---|
| 785 | DWORD dwLevel,
|
---|
| 786 | LPBYTE pAttributeInfo,
|
---|
| 787 | DWORD nSize,
|
---|
| 788 | DWORD dwFlags);
|
---|
| 789 |
|
---|
| 790 | WINBOOL WINAPI SpoolerRefreshPrinterChangeNotification(HANDLE hPrinter,
|
---|
| 791 | DWORD dwColor,
|
---|
| 792 | PPRINTER_NOTIFY_OPTIONS pOptions,
|
---|
| 793 | PPRINTER_NOTIFY_INFO *ppInfo);
|
---|
| 794 |
|
---|
| 795 | #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
---|
| 796 |
|
---|
| 797 | /* FIXME : The following declarations are not present in the official header */
|
---|
| 798 |
|
---|
| 799 | WINBOOL WINAPI OpenPrinterToken(PHANDLE phToken);
|
---|
| 800 | WINBOOL WINAPI SetPrinterToken(HANDLE hToken);
|
---|
| 801 | WINBOOL WINAPI ClosePrinterToken(HANDLE hToken);
|
---|
| 802 | WINBOOL WINAPI InstallPrintProcessor(HWND hWnd);
|
---|
| 803 |
|
---|
| 804 | #ifdef __cplusplus
|
---|
| 805 | }
|
---|
| 806 | #endif
|
---|