📄 winspool.h
字号:
WINAPI
EndPagePrinter(
IN HANDLE hPrinter
);
BOOL
WINAPI
AbortPrinter(
IN HANDLE hPrinter
);
BOOL
WINAPI
ReadPrinter(
IN HANDLE hPrinter,
OUT LPVOID pBuf,
IN DWORD cbBuf,
OUT LPDWORD pNoBytesRead
);
BOOL
WINAPI
EndDocPrinter(
IN HANDLE hPrinter
);
BOOL
WINAPI
AddJobA(
IN HANDLE hPrinter,
IN DWORD Level,
OUT LPBYTE pData,
IN DWORD cbBuf,
OUT LPDWORD pcbNeeded
);
BOOL
WINAPI
AddJobW(
IN HANDLE hPrinter,
IN DWORD Level,
OUT LPBYTE pData,
IN DWORD cbBuf,
OUT LPDWORD pcbNeeded
);
#ifdef UNICODE
#define AddJob AddJobW
#else
#define AddJob AddJobA
#endif // !UNICODE
BOOL
WINAPI
ScheduleJob(
IN HANDLE hPrinter,
IN DWORD JobId
);
BOOL
WINAPI
PrinterProperties(
IN HWND hWnd,
IN HANDLE hPrinter
);
LONG
WINAPI
DocumentPropertiesA(
IN HWND hWnd,
IN HANDLE hPrinter,
IN LPSTR pDeviceName,
OUT PDEVMODEA pDevModeOutput,
IN PDEVMODEA pDevModeInput,
IN DWORD fMode
);
LONG
WINAPI
DocumentPropertiesW(
IN HWND hWnd,
IN HANDLE hPrinter,
IN LPWSTR pDeviceName,
OUT PDEVMODEW pDevModeOutput,
IN PDEVMODEW pDevModeInput,
IN DWORD fMode
);
#ifdef UNICODE
#define DocumentProperties DocumentPropertiesW
#else
#define DocumentProperties DocumentPropertiesA
#endif // !UNICODE
LONG
WINAPI
AdvancedDocumentPropertiesA(
IN HWND hWnd,
IN HANDLE hPrinter,
IN LPSTR pDeviceName,
OUT PDEVMODEA pDevModeOutput,
IN PDEVMODEA pDevModeInput
);
LONG
WINAPI
AdvancedDocumentPropertiesW(
IN HWND hWnd,
IN HANDLE hPrinter,
IN LPWSTR pDeviceName,
OUT PDEVMODEW pDevModeOutput,
IN PDEVMODEW pDevModeInput
);
#ifdef UNICODE
#define AdvancedDocumentProperties AdvancedDocumentPropertiesW
#else
#define AdvancedDocumentProperties AdvancedDocumentPropertiesA
#endif // !UNICODE
DWORD
WINAPI
GetPrinterDataA(
IN HANDLE hPrinter,
IN LPSTR pValueName,
OUT LPDWORD pType,
OUT LPBYTE pData,
IN DWORD nSize,
OUT LPDWORD pcbNeeded
);
DWORD
WINAPI
GetPrinterDataW(
IN HANDLE hPrinter,
IN LPWSTR pValueName,
OUT LPDWORD pType,
OUT LPBYTE pData,
IN DWORD nSize,
OUT LPDWORD pcbNeeded
);
#ifdef UNICODE
#define GetPrinterData GetPrinterDataW
#else
#define GetPrinterData GetPrinterDataA
#endif // !UNICODE
DWORD
WINAPI
GetPrinterDataExA(
IN HANDLE hPrinter,
IN LPCSTR pKeyName,
IN LPCSTR pValueName,
OUT LPDWORD pType,
OUT LPBYTE pData,
IN DWORD nSize,
OUT LPDWORD pcbNeeded
);
DWORD
WINAPI
GetPrinterDataExW(
IN HANDLE hPrinter,
IN LPCWSTR pKeyName,
IN LPCWSTR pValueName,
OUT LPDWORD pType,
OUT LPBYTE pData,
IN DWORD nSize,
OUT LPDWORD pcbNeeded
);
#ifdef UNICODE
#define GetPrinterDataEx GetPrinterDataExW
#else
#define GetPrinterDataEx GetPrinterDataExA
#endif // !UNICODE
DWORD
WINAPI
EnumPrinterDataA(
IN HANDLE hPrinter,
IN DWORD dwIndex,
OUT LPSTR pValueName,
IN DWORD cbValueName,
OUT LPDWORD pcbValueName,
OUT LPDWORD pType,
OUT LPBYTE pData,
IN DWORD cbData,
OUT LPDWORD pcbData
);
DWORD
WINAPI
EnumPrinterDataW(
IN HANDLE hPrinter,
IN DWORD dwIndex,
OUT LPWSTR pValueName,
IN DWORD cbValueName,
OUT LPDWORD pcbValueName,
OUT LPDWORD pType,
OUT LPBYTE pData,
IN DWORD cbData,
OUT LPDWORD pcbData
);
#ifdef UNICODE
#define EnumPrinterData EnumPrinterDataW
#else
#define EnumPrinterData EnumPrinterDataA
#endif // !UNICODE
DWORD
WINAPI
EnumPrinterDataExA(
IN HANDLE hPrinter,
IN LPCSTR pKeyName,
OUT LPBYTE pEnumValues,
IN DWORD cbEnumValues,
OUT LPDWORD pcbEnumValues,
OUT LPDWORD pnEnumValues
);
DWORD
WINAPI
EnumPrinterDataExW(
IN HANDLE hPrinter,
IN LPCWSTR pKeyName,
OUT LPBYTE pEnumValues,
IN DWORD cbEnumValues,
OUT LPDWORD pcbEnumValues,
OUT LPDWORD pnEnumValues
);
#ifdef UNICODE
#define EnumPrinterDataEx EnumPrinterDataExW
#else
#define EnumPrinterDataEx EnumPrinterDataExA
#endif // !UNICODE
DWORD
WINAPI
EnumPrinterKeyA(
IN HANDLE hPrinter,
IN LPCSTR pKeyName,
OUT LPSTR pSubkey,
IN DWORD cbSubkey,
OUT LPDWORD pcbSubkey
);
DWORD
WINAPI
EnumPrinterKeyW(
IN HANDLE hPrinter,
IN LPCWSTR pKeyName,
OUT LPWSTR pSubkey,
IN DWORD cbSubkey,
OUT LPDWORD pcbSubkey
);
#ifdef UNICODE
#define EnumPrinterKey EnumPrinterKeyW
#else
#define EnumPrinterKey EnumPrinterKeyA
#endif // !UNICODE
DWORD
WINAPI
SetPrinterDataA(
IN HANDLE hPrinter,
IN LPSTR pValueName,
IN DWORD Type,
IN LPBYTE pData,
IN DWORD cbData
);
DWORD
WINAPI
SetPrinterDataW(
IN HANDLE hPrinter,
IN LPWSTR pValueName,
IN DWORD Type,
IN LPBYTE pData,
IN DWORD cbData
);
#ifdef UNICODE
#define SetPrinterData SetPrinterDataW
#else
#define SetPrinterData SetPrinterDataA
#endif // !UNICODE
DWORD
WINAPI
SetPrinterDataExA(
IN HANDLE hPrinter,
IN LPCSTR pKeyName,
IN LPCSTR pValueName,
IN DWORD Type,
IN LPBYTE pData,
IN DWORD cbData
);
DWORD
WINAPI
SetPrinterDataExW(
IN HANDLE hPrinter,
IN LPCWSTR pKeyName,
IN LPCWSTR pValueName,
IN DWORD Type,
IN LPBYTE pData,
IN DWORD cbData
);
#ifdef UNICODE
#define SetPrinterDataEx SetPrinterDataExW
#else
#define SetPrinterDataEx SetPrinterDataExA
#endif // !UNICODE
DWORD
WINAPI
DeletePrinterDataA(
IN HANDLE hPrinter,
IN LPSTR pValueName
);
DWORD
WINAPI
DeletePrinterDataW(
IN HANDLE hPrinter,
IN LPWSTR pValueName
);
#ifdef UNICODE
#define DeletePrinterData DeletePrinterDataW
#else
#define DeletePrinterData DeletePrinterDataA
#endif // !UNICODE
DWORD
WINAPI
DeletePrinterDataExA(
IN HANDLE hPrinter,
IN LPCSTR pKeyName,
IN LPCSTR pValueName
);
DWORD
WINAPI
DeletePrinterDataExW(
IN HANDLE hPrinter,
IN LPCWSTR pKeyName,
IN LPCWSTR pValueName
);
#ifdef UNICODE
#define DeletePrinterDataEx DeletePrinterDataExW
#else
#define DeletePrinterDataEx DeletePrinterDataExA
#endif // !UNICODE
DWORD
WINAPI
DeletePrinterKeyA(
IN HANDLE hPrinter,
IN LPCSTR pKeyName
);
DWORD
WINAPI
DeletePrinterKeyW(
IN HANDLE hPrinter,
IN LPCWSTR pKeyName
);
#ifdef UNICODE
#define DeletePrinterKey DeletePrinterKeyW
#else
#define DeletePrinterKey DeletePrinterKeyA
#endif // !UNICODE
#define PRINTER_NOTIFY_TYPE 0x00
#define JOB_NOTIFY_TYPE 0x01
#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
#define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
#define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
#define PRINTER_NOTIFY_FIELD_COMMENT 0x05
#define PRINTER_NOTIFY_FIELD_LOCATION 0x06
#define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
#define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
#define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0A
#define PRINTER_NOTIFY_FIELD_DATATYPE 0x0B
#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0D
#define PRINTER_NOTIFY_FIELD_PRIORITY 0x0E
#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0F
#define PRINTER_NOTIFY_FIELD_START_TIME 0x10
#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
#define PRINTER_NOTIFY_FIELD_STATUS 0x12
#define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
#define PRINTER_NOTIFY_FIELD_CJOBS 0x14
#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
#define PRINTER_NOTIFY_FIELD_OBJECT_GUID 0x1A
#define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
#define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
#define JOB_NOTIFY_FIELD_PORT_NAME 0x02
#define JOB_NOTIFY_FIELD_USER_NAME 0x03
#define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
#define JOB_NOTIFY_FIELD_DATATYPE 0x05
#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
#define JOB_NOTIFY_FIELD_PARAMETERS 0x07
#define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
#define JOB_NOTIFY_FIELD_DEVMODE 0x09
#define JOB_NOTIFY_FIELD_STATUS 0x0A
#define JOB_NOTIFY_FIELD_STATUS_STRING 0x0B
#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
#define JOB_NOTIFY_FIELD_DOCUMENT 0x0D
#define JOB_NOTIFY_FIELD_PRIORITY 0x0E
#define JOB_NOTIFY_FIELD_POSITION 0x0F
#define JOB_NOTIFY_FIELD_SUBMITTED 0x10
#define JOB_NOTIFY_FIELD_START_TIME 0x11
#define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
#define JOB_NOTIFY_FIELD_TIME 0x13
#define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
#define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
#define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
#define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
WORD Type;
WORD Reserved0;
DWORD Reserved1;
DWORD Reserved2;
DWORD Count;
PWORD pFields;
} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE, *LPPRINTER_NOTIFY_OPTIONS_TYPE;
#define PRINTER_NOTIFY_OPTIONS_REFRESH 0x01
typedef struct _PRINTER_NOTIFY_OPTIONS {
DWORD Version;
DWORD Flags;
DWORD Count;
PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
#define PRINTER_NOTIFY_INFO_DISCARDED 0x01
typedef struct _PRINTER_NOTIFY_INFO_DATA {
WORD Type;
WORD Field;
DWORD Reserved;
DWORD Id;
union {
DWORD adwData[2];
struct {
DWORD cbBuf;
LPVOID pBuf;
} Data;
} NotifyData;
} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA, *LPPRINTER_NOTIFY_INFO_DATA;
typedef struct _PRINTER_NOTIFY_INFO {
DWORD Version;
DWORD Flags;
DWORD Count;
PRINTER_NOTIFY_INFO_DATA aData[1];
} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
DWORD
WINAPI
WaitForPrinterChange(
IN HANDLE hPrinter,
IN DWORD Flags
);
HANDLE
WINAPI
FindFirstPrinterChangeNotification(
IN HANDLE hPrinter,
IN DWORD fdwFlags,
IN DWORD fdwOptions,
IN LPVOID pPrinterNotifyOptions
);
BOOL
WINAPI
FindNextPrinterChangeNotification(
IN HANDLE hChange,
OUT PDWORD pdwChange,
IN LPVOID pvReserved,
OUT LPVOID *ppPrinterNotifyInfo
);
BOOL
WINAPI
FreePrinterNotifyInfo(
IN PPRINTER_NOTIFY_INFO pPrinterNotifyInfo
);
BOOL
WINAPI
FindClosePrinterChangeNotification(
IN HANDLE hChange
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -