mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
821 lines
18 KiB
821 lines
18 KiB
/*++
|
|
|
|
Copyright (c) 1990-1994 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
SplApiP.h
|
|
|
|
Abstract:
|
|
|
|
Header file for Private Print APIs
|
|
For use in stress
|
|
|
|
Author:
|
|
|
|
Matthew Felton (MattFe) 4-Mar-1994
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#ifndef SPLAPIP_H_
|
|
#define SPLAPIP_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "lmon.h"
|
|
|
|
// Internal Used to report Stress test results
|
|
|
|
#define STRESSINFOLEVEL 0
|
|
|
|
// W A R N I N G
|
|
//
|
|
// Do not alter the size of this structure it will break NT interop with older releases if you do.
|
|
|
|
typedef struct _PRINTER_INFO_STRESSA {
|
|
LPSTR pPrinterName; // Printer Name locally "Printername" remotely "\\servername\printername"
|
|
LPSTR pServerName; // Server Name
|
|
DWORD cJobs; // Number of Jobs currently in Print Queue
|
|
DWORD cTotalJobs; // Total Number of Jobs spooled
|
|
DWORD cTotalBytes; // Total Bytes Printed (LOW DWORD)
|
|
SYSTEMTIME stUpTime; // Time printed data structure crated UTC
|
|
DWORD MaxcRef; // Maximum number of cRef
|
|
DWORD cTotalPagesPrinted; // Total number of pages printed
|
|
DWORD dwGetVersion; // OS version
|
|
DWORD fFreeBuild; // TRUE for free build
|
|
DWORD cSpooling; // Number of jobs actively spooling
|
|
DWORD cMaxSpooling; // Maximum number of cSpooling
|
|
DWORD cRef; // Printer object reference count (opened)
|
|
DWORD cErrorOutOfPaper; // Total Number of Out Of Paper Errors
|
|
DWORD cErrorNotReady; // Total Number of Error Not Ready
|
|
DWORD cJobError; // Total number of Job Errors
|
|
DWORD dwNumberOfProcessors; // Number of Processors on computer
|
|
DWORD dwProcessorType; // Processor Type of computer
|
|
DWORD dwHighPartTotalBytes; // Total Bytes Printed (HIGH DWORD)
|
|
DWORD cChangeID; // Count of Changes to Printer Config
|
|
DWORD dwLastError; // Last Error
|
|
DWORD Status; // Current Printer Status
|
|
DWORD cEnumerateNetworkPrinters; // Count How Many Times Browse List Requested
|
|
DWORD cAddNetPrinters; // Count of NetPrinters Added ( Browser )
|
|
WORD wProcessorArchitecture; // Processor Architecture of computer
|
|
WORD wProcessorLevel; // Processor Level of computer
|
|
DWORD cRefIC; // Count of open IC handles
|
|
DWORD dwReserved2; // Reserved for Future Use
|
|
DWORD dwReserved3;
|
|
|
|
} PRINTER_INFO_STRESSA, *PPRINTER_INFO_STRESSA, *LPPRINTER_INFO_STRESSA;
|
|
|
|
typedef struct _PRINTER_INFO_STRESSW {
|
|
LPWSTR pPrinterName; // Printer Name locally "Printername" remotely "\\servername\printername"
|
|
LPWSTR pServerName; // Server Name
|
|
DWORD cJobs; // Number of Jobs currently in Print Queue
|
|
DWORD cTotalJobs; // Total Number of Jobs spooled
|
|
DWORD cTotalBytes; // Total Bytes Printed (LOW DWORD)
|
|
SYSTEMTIME stUpTime; // Time printed data structure crated UTC
|
|
DWORD MaxcRef; // Maximum number of cRef
|
|
DWORD cTotalPagesPrinted; // Total number of pages printed
|
|
DWORD dwGetVersion; // OS version
|
|
DWORD fFreeBuild; // TRUE for free build
|
|
DWORD cSpooling; // Number of jobs actively spooling
|
|
DWORD cMaxSpooling; // Maximum number of cSpooling
|
|
DWORD cRef; // Printer object reference count (opened)
|
|
DWORD cErrorOutOfPaper; // Total Number of Out Of Paper Errors
|
|
DWORD cErrorNotReady; // Total Number of Error Not Ready
|
|
DWORD cJobError; // Total number of Job Errors
|
|
DWORD dwNumberOfProcessors; // Number of Processors on computer
|
|
DWORD dwProcessorType; // Processor Type of computer
|
|
DWORD dwHighPartTotalBytes; // Total Bytes Printed (HIGH DWORD)
|
|
DWORD cChangeID; // Count of Changes to Printer Config
|
|
DWORD dwLastError; // Last Error
|
|
DWORD Status; // Current Printer Status
|
|
DWORD cEnumerateNetworkPrinters; // Count How Many Times Browse List Requested
|
|
DWORD cAddNetPrinters; // Count of NetPrinters Added ( Browser )
|
|
WORD wProcessorArchitecture; // Processor Architecture of computer
|
|
WORD wProcessorLevel; // Processor Level of computer
|
|
DWORD cRefIC; // Count of open IC handles
|
|
DWORD dwReserved2; // Reserved for Future Use
|
|
DWORD dwReserved3;
|
|
|
|
} PRINTER_INFO_STRESSW, *PPRINTER_INFO_STRESSW, *LPPRINTER_INFO_STRESSW;
|
|
|
|
|
|
typedef struct _DRIVER_UPGRADE_INFO_1W {
|
|
LPWSTR pPrinterName; // Printer Name being upgraded
|
|
LPWSTR pOldDriverDirectory; // fully qualified path to old printer driver
|
|
|
|
} DRIVER_UPGRADE_INFO_1W, *PDRIVER_UPGRADE_INFO_1W, *LPDRIVER_UPGRADE_INFO_1W;
|
|
|
|
|
|
#ifdef UNICODE
|
|
#define PRINTER_INFO_STRESS PRINTER_INFO_STRESSW
|
|
#define PPRINTER_INFO_STRESS PPRINTER_INFO_STRESSW
|
|
#define LPPRINTER_INFO_STRESS LPPRINTER_INFO_STRESSW
|
|
#else
|
|
#define PRINTER_INFO_STRESS PRINTER_INFO_STRESSA
|
|
#define PPRINTER_INFO_STRESS PPRINTER_INFO_STRESSA
|
|
#define LPPRINTER_INFO_STRESS LPPRINTER_INFO_STRESSA
|
|
#endif // UNICODE
|
|
|
|
|
|
BOOL
|
|
AddPortExW(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPBYTE lpBuffer,
|
|
LPWSTR lpMonitorName
|
|
);
|
|
|
|
BOOL
|
|
AddPortExA(
|
|
LPSTR pName,
|
|
DWORD Level,
|
|
LPBYTE lpBuffer,
|
|
LPSTR lpMonitorName
|
|
);
|
|
|
|
BOOL
|
|
SetAllocFailCount(
|
|
HANDLE hPrinter,
|
|
DWORD dwFailCount,
|
|
LPDWORD lpdwAllocCount,
|
|
LPDWORD lpdwFreeCount,
|
|
LPDWORD lpdwFailCountHit
|
|
);
|
|
|
|
|
|
#ifdef UNICODE
|
|
#define AddPortEx AddPortExW
|
|
#else
|
|
#define AddPortEx AddPortExA
|
|
#endif // !UNICODE
|
|
|
|
//
|
|
// Interfaces to Spooler APIs
|
|
//
|
|
|
|
HANDLE
|
|
SplAddPrinter(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPBYTE pPrinter,
|
|
HANDLE pIniSpooler,
|
|
LPBYTE pExtraData,
|
|
LPBYTE pSplClientInfo,
|
|
DWORD dwLevel
|
|
);
|
|
|
|
BOOL
|
|
SplDeletePrinter(
|
|
HANDLE hPrinter
|
|
);
|
|
|
|
BOOL
|
|
SplEnumPrinters(
|
|
DWORD Flags,
|
|
LPWSTR Name,
|
|
DWORD Level,
|
|
LPBYTE pPrinter,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
LPDWORD pcReturned,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
DWORD
|
|
SplOpenPrinter(
|
|
LPWSTR pPrinterName,
|
|
LPHANDLE phPrinter,
|
|
LPPRINTER_DEFAULTS pDefault,
|
|
HANDLE pIniSpooler,
|
|
LPBYTE pSplClientInfo,
|
|
DWORD dwLevel
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplDeletePrinterDriver(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
LPWSTR pDriverName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplDeletePrinterDriverEx(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
LPWSTR pDriverName,
|
|
HANDLE pIniSpooler,
|
|
DWORD dwDeleteFlag,
|
|
DWORD dwVersionNum
|
|
);
|
|
|
|
BOOL
|
|
SplGetPrintProcessorDirectory(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
DWORD Level,
|
|
LPBYTE pPrintProcessorInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplGetPrinterDriverDirectory(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
DWORD Level,
|
|
LPBYTE pDriverInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplAddPort(
|
|
LPWSTR pName,
|
|
HWND hWnd,
|
|
LPWSTR pMonitorName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplAddPortEx(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPVOID pBuffer,
|
|
LPWSTR pMonitorName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplAddPrinterDriver(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPBYTE pDriverInfo,
|
|
HANDLE pIniSpooler,
|
|
BOOL bUseScratchDir,
|
|
BOOL bImpersonateOnCreate
|
|
);
|
|
|
|
BOOL
|
|
SplAddPrinterDriverEx(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPBYTE pDriverInfo,
|
|
DWORD dwFileCopyFlags,
|
|
HANDLE pIniSpooler,
|
|
BOOL bUseScratchDir,
|
|
BOOL bImpersonateOnCreate
|
|
);
|
|
|
|
BOOL
|
|
SplAddDriverCatalog(
|
|
HANDLE hPrinter,
|
|
DWORD dwLevel,
|
|
VOID *pvDriverInfCatInfo,
|
|
DWORD dwCatalogCopyFlags
|
|
);
|
|
|
|
BOOL
|
|
SplDeleteMonitor(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
LPWSTR pMonitorName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplDeletePrintProcessor(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
LPWSTR pPrintProcessorName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplAddPrintProcessor(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
LPWSTR pPathName,
|
|
LPWSTR pPrintProcessorName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplAddMonitor(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPBYTE pMonitorInfo,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplMonitorIsInstalled(
|
|
LPWSTR pMonitorName
|
|
);
|
|
|
|
BOOL
|
|
SplDeletePort(
|
|
LPWSTR pName,
|
|
HWND hWnd,
|
|
LPWSTR pPortName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplEnumPorts(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPBYTE pPorts,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
LPDWORD pcReturned,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplConfigurePort(
|
|
LPWSTR pName,
|
|
HWND hWnd,
|
|
LPWSTR pPortName,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplXcvData(
|
|
HANDLE hXcv,
|
|
LPCWSTR pszDataName,
|
|
PBYTE pInputData,
|
|
DWORD cbInputData,
|
|
PBYTE pOutputData,
|
|
DWORD cbOutputData,
|
|
PDWORD pcbOutputNeeded,
|
|
PDWORD pdwStatus,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplEnumMonitors(
|
|
LPWSTR pName,
|
|
DWORD Level,
|
|
LPBYTE pMonitors,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
LPDWORD pcReturned,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplEnumPrinterDrivers(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
DWORD Level,
|
|
LPBYTE pDriverInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
LPDWORD pcReturned,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplEnumPrintProcessors(
|
|
LPWSTR pName,
|
|
LPWSTR pEnvironment,
|
|
DWORD Level,
|
|
LPBYTE pPrintProcessorInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
LPDWORD pcReturned,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplEnumPrintProcessorDatatypes(
|
|
LPWSTR pName,
|
|
LPWSTR pPrintProcessorName,
|
|
DWORD Level,
|
|
LPBYTE pDatatypes,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
LPDWORD pcReturned,
|
|
HANDLE pIniSpooler
|
|
);
|
|
|
|
|
|
VOID
|
|
SplBroadcastChange(
|
|
HANDLE hPrinter,
|
|
DWORD Message,
|
|
WPARAM wParam,
|
|
LPARAM lParam
|
|
);
|
|
|
|
|
|
typedef struct _SPOOLER_INFO_1 {
|
|
LPWSTR pDir;
|
|
LPWSTR pDefaultSpoolDir;
|
|
LPWSTR pszRegistryRoot;
|
|
LPWSTR pszRegistryPrinters;
|
|
LPWSTR pszRegistryMonitors;
|
|
LPWSTR pszRegistryEnvironments;
|
|
LPWSTR pszRegistryEventLog;
|
|
LPWSTR pszRegistryProviders;
|
|
LPWSTR pszEventLogMsgFile;
|
|
LPWSTR pszDriversShare;
|
|
LPWSTR pszRegistryForms;
|
|
DWORD SpoolerFlags;
|
|
FARPROC pfnReadRegistryExtra;
|
|
FARPROC pfnWriteRegistryExtra;
|
|
FARPROC pfnFreePrinterExtra;
|
|
} SPOOLER_INFO_1, *PSPOOLER_INFO_1, *LPSPOOLER_INFO_1;
|
|
|
|
typedef struct _SPOOLER_INFO_2 {
|
|
LPWSTR pDir;
|
|
LPWSTR pDefaultSpoolDir;
|
|
LPWSTR pszRegistryRoot;
|
|
LPWSTR pszRegistryPrinters;
|
|
LPWSTR pszRegistryMonitors;
|
|
LPWSTR pszRegistryEnvironments;
|
|
LPWSTR pszRegistryEventLog;
|
|
LPWSTR pszRegistryProviders;
|
|
LPWSTR pszEventLogMsgFile;
|
|
LPWSTR pszDriversShare;
|
|
LPWSTR pszRegistryForms;
|
|
DWORD SpoolerFlags;
|
|
FARPROC pfnReadRegistryExtra;
|
|
FARPROC pfnWriteRegistryExtra;
|
|
FARPROC pfnFreePrinterExtra;
|
|
LPWSTR pszResource;
|
|
LPWSTR pszName;
|
|
LPWSTR pszAddress;
|
|
} SPOOLER_INFO_2, *PSPOOLER_INFO_2, *LPSPOOLER_INFO_2;
|
|
|
|
#define SPL_UPDATE_WININI_DEVICES 0x00000001
|
|
#define SPL_PRINTER_CHANGES 0x00000002
|
|
#define SPL_LOG_EVENTS 0x00000004
|
|
#define SPL_FORMS_CHANGE 0x00000008
|
|
#define SPL_BROADCAST_CHANGE 0x00000010
|
|
#define SPL_SECURITY_CHECK 0x00000020
|
|
#define SPL_OPEN_CREATE_PORTS 0x00000040
|
|
#define SPL_FAIL_OPEN_PRINTERS_PENDING_DELETION 0x00000080
|
|
#define SPL_REMOTE_HANDLE_CHECK 0x00000100
|
|
#define SPL_PRINTER_DRIVER_EVENT 0x00000200
|
|
|
|
#define SPL_ALWAYS_CREATE_DRIVER_SHARE 0x00000400
|
|
#define SPL_NO_UPDATE_PRINTERINI 0x00000800
|
|
#define SPL_NO_UPDATE_JOBSHD 0x00001000
|
|
#define SPL_CLUSTER_REG 0x00002000
|
|
#define SPL_OFFLINE 0x00004000
|
|
#define SPL_PENDING_DELETION 0x00008000
|
|
#define SPL_SERVER_THREAD 0x00010000
|
|
#define SPL_PRINT 0x00020000
|
|
#define SPL_NON_RAW_TO_MASQ_PRINTERS 0x00040000
|
|
#define SPL_OPEN_EXISTING_ONLY 0x00080000
|
|
|
|
#define SPL_TYPE 0xff000000
|
|
#define SPL_TYPE_LOCAL 0x01000000
|
|
#define SPL_TYPE_CLUSTER 0x02000000
|
|
#define SPL_TYPE_CACHE 0x04000000
|
|
|
|
|
|
HANDLE
|
|
SplCreateSpooler(
|
|
LPWSTR pMachineName,
|
|
DWORD Level,
|
|
PBYTE pSpooler,
|
|
LPBYTE pReserved
|
|
);
|
|
|
|
BOOL
|
|
SplDeleteSpooler(
|
|
HANDLE hSpooler
|
|
);
|
|
|
|
BOOL
|
|
SplCloseSpooler(
|
|
HANDLE hSpooler
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplEnumForms(
|
|
HANDLE hPrinter,
|
|
DWORD Level,
|
|
LPBYTE pForm,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
LPDWORD pcReturned
|
|
);
|
|
|
|
BOOL
|
|
SplAddForm(
|
|
HANDLE hPrinter,
|
|
DWORD Level,
|
|
LPBYTE pForm
|
|
);
|
|
|
|
BOOL
|
|
SplDeleteForm(
|
|
HANDLE hPrinter,
|
|
LPWSTR pFormName
|
|
);
|
|
|
|
BOOL
|
|
SplGetForm(
|
|
HANDLE hPrinter,
|
|
LPWSTR pFormName,
|
|
DWORD Level,
|
|
LPBYTE pForm,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded
|
|
);
|
|
|
|
BOOL
|
|
SplSetForm(
|
|
HANDLE hPrinter,
|
|
LPWSTR pFormName,
|
|
DWORD Level,
|
|
LPBYTE pForm
|
|
);
|
|
|
|
BOOL
|
|
SplClosePrinter(
|
|
HANDLE hPrinter
|
|
);
|
|
|
|
DWORD
|
|
SplGetPrinterData(
|
|
HANDLE hPrinter,
|
|
LPWSTR pValueName,
|
|
LPDWORD pType,
|
|
LPBYTE pData,
|
|
DWORD nSize,
|
|
LPDWORD pcbNeeded
|
|
);
|
|
|
|
DWORD
|
|
SplGetPrinterDataEx(
|
|
HANDLE hPrinter,
|
|
LPCWSTR pKeyName,
|
|
LPCWSTR pValueName,
|
|
LPDWORD pType,
|
|
LPBYTE pData,
|
|
DWORD nSize,
|
|
LPDWORD pcbNeeded
|
|
);
|
|
|
|
|
|
DWORD
|
|
SplEnumPrinterData(
|
|
HANDLE hPrinter,
|
|
DWORD dwIndex, // index of value to query
|
|
LPWSTR pValueName, // address of buffer for value string
|
|
DWORD cbValueName, // size of buffer for value string
|
|
LPDWORD pcbValueName, // address for size of value buffer
|
|
LPDWORD pType, // address of buffer for type code
|
|
LPBYTE pData, // address of buffer for value data
|
|
DWORD cbData, // size of buffer for value data
|
|
LPDWORD pcbData // address for size of data buffer
|
|
);
|
|
|
|
DWORD
|
|
SplEnumPrinterDataEx(
|
|
HANDLE hPrinter,
|
|
LPCWSTR pKeyName,
|
|
LPBYTE pEnumValues,
|
|
DWORD cbEnumValues,
|
|
LPDWORD pcbEnumValues,
|
|
LPDWORD pnEnumValues
|
|
);
|
|
|
|
DWORD
|
|
SplEnumPrinterKey(
|
|
HANDLE hPrinter,
|
|
LPCWSTR pKeyName,
|
|
LPWSTR pSubkey, // address of buffer for value string
|
|
DWORD cbSubkey, // size of buffer for value string
|
|
LPDWORD pcbSubkey // address for size of value buffer
|
|
);
|
|
|
|
|
|
DWORD
|
|
SplDeletePrinterData(
|
|
HANDLE hPrinter,
|
|
LPWSTR pValueName
|
|
);
|
|
|
|
|
|
DWORD
|
|
SplDeletePrinterDataEx(
|
|
HANDLE hPrinter,
|
|
LPCWSTR pKeyName,
|
|
LPCWSTR pValueName
|
|
);
|
|
|
|
DWORD
|
|
SplDeletePrinterKey(
|
|
HANDLE hPrinter,
|
|
LPCWSTR pKeyName
|
|
);
|
|
|
|
|
|
DWORD
|
|
SplSetPrinterData(
|
|
HANDLE hPrinter,
|
|
LPWSTR pValueName,
|
|
DWORD Type,
|
|
LPBYTE pData,
|
|
DWORD cbData
|
|
);
|
|
|
|
DWORD
|
|
SplSetPrinterDataEx(
|
|
HANDLE hPrinter,
|
|
LPCWSTR pKeyName,
|
|
LPCWSTR pValueName,
|
|
DWORD Type,
|
|
LPBYTE pData,
|
|
DWORD cbData
|
|
);
|
|
|
|
BOOL
|
|
SplGetPrinterDriver(
|
|
HANDLE hPrinter,
|
|
LPWSTR pEnvironment,
|
|
DWORD Level,
|
|
LPBYTE pDriverInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded
|
|
);
|
|
|
|
BOOL
|
|
SplGetPrinterDriverEx(
|
|
HANDLE hPrinter,
|
|
LPWSTR pEnvironment,
|
|
DWORD Level,
|
|
LPBYTE pDriverInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded,
|
|
DWORD dwClientMajorVersion,
|
|
DWORD dwClientMinorVersion,
|
|
PDWORD pdwServerMajorVersion,
|
|
PDWORD pdwServerMinorVersion
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplResetPrinter(
|
|
HANDLE hPrinter,
|
|
LPPRINTER_DEFAULTSW pDefault
|
|
);
|
|
|
|
|
|
BOOL
|
|
SplGetPrinter(
|
|
HANDLE hPrinter,
|
|
DWORD Level,
|
|
LPBYTE pPrinter,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded
|
|
);
|
|
|
|
BOOL
|
|
SplSetPrinter(
|
|
HANDLE hPrinter,
|
|
DWORD Level,
|
|
LPBYTE pPrinterInfo,
|
|
DWORD Command
|
|
);
|
|
|
|
BOOL
|
|
SplSetPrinterExtra(
|
|
HANDLE hPrinter,
|
|
LPBYTE pExtraData
|
|
);
|
|
|
|
BOOL
|
|
SplGetPrinterExtra(
|
|
HANDLE hPrinter,
|
|
PBYTE *ppExtraData
|
|
);
|
|
|
|
BOOL
|
|
SplSetPrinterExtraEx(
|
|
HANDLE hPrinter,
|
|
DWORD dwPrivateFlag
|
|
);
|
|
|
|
BOOL
|
|
SplGetPrinterExtraEx(
|
|
HANDLE hPrinter,
|
|
LPDWORD pdwPrivateFlag
|
|
);
|
|
|
|
BOOL
|
|
SplDriverEvent(
|
|
LPWSTR pName,
|
|
INT PrinterEvent,
|
|
LPARAM lParam
|
|
);
|
|
|
|
BOOL
|
|
SplCopyNumberOfFiles(
|
|
LPWSTR pszPrinterName,
|
|
LPWSTR *ppszSourceFileNames,
|
|
DWORD dwCount,
|
|
LPWSTR pszTargetDir,
|
|
LPBOOL pbFilesAddedOrUpdated
|
|
);
|
|
|
|
BOOL
|
|
SplGetDriverDir(
|
|
HANDLE hIniSpooler,
|
|
LPWSTR pszDir,
|
|
LPDWORD pcchDir
|
|
);
|
|
|
|
HMODULE
|
|
SplLoadLibraryTheCopyFileModule(
|
|
HANDLE hPrinter,
|
|
LPWSTR pszModule
|
|
);
|
|
|
|
BOOL
|
|
SplCopyFileEvent(
|
|
HANDLE hPrinter,
|
|
LPWSTR pszKey,
|
|
DWORD dwCopyFileEvent
|
|
);
|
|
|
|
VOID
|
|
SplDriverUnloadComplete(
|
|
LPWSTR pDriverFile
|
|
);
|
|
|
|
BOOL
|
|
SplGetSpoolFileInfo(
|
|
HANDLE hPrinter,
|
|
HANDLE hAppProcess,
|
|
DWORD dwLevel,
|
|
LPBYTE pSpoolFileInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded
|
|
);
|
|
|
|
BOOL
|
|
SplCommitSpoolData(
|
|
HANDLE hPrinter,
|
|
HANDLE hAppProcess,
|
|
DWORD cbCommit,
|
|
DWORD dwLevel,
|
|
LPBYTE pSpoolFileInfo,
|
|
DWORD cbBuf,
|
|
LPDWORD pcbNeeded
|
|
);
|
|
|
|
BOOL
|
|
SplCloseSpoolFileHandle(
|
|
HANDLE hPrinter
|
|
);
|
|
|
|
BOOL
|
|
bGetDevModePerUser(
|
|
HKEY hKeyUser,
|
|
LPCWSTR pszPrinter,
|
|
PDEVMODE *ppDevMode
|
|
);
|
|
|
|
BOOL
|
|
bSetDevModePerUser(
|
|
HKEY hKeyUser,
|
|
LPCWSTR pszPrinter,
|
|
PDEVMODE pDevMode
|
|
);
|
|
|
|
DWORD
|
|
SendRecvBidiData(
|
|
IN HANDLE hPrinter,
|
|
IN LPCWSTR pAction,
|
|
IN PBIDI_REQUEST_CONTAINER pReqData,
|
|
OUT PBIDI_RESPONSE_CONTAINER* ppResData
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|