[Printing] Update and Add Functions

More forwards to LocalSpl and LocalMon. At sometime will be merged together.
Bug fixes.
Printer Driver code is a wine hack. (WIP)
Added information for shell tray icon notifications.
Sync wine WinSpool driver tests. Unplugged from build.
This commit is contained in:
James Tabor 2020-08-26 17:12:20 -05:00
parent 22fb1e947d
commit 62c4b828b4
54 changed files with 6000 additions and 564 deletions

View file

@ -1173,14 +1173,14 @@ interface winspool {
DWORD _RpcAddPort(
[in, unique] WINSPOOL_HANDLE pName,
[in] ULONG_PTR hWnd,
[in] WCHAR* pMonitorName
[in, string] WCHAR* pMonitorName
);
/* Function 0x26 */
DWORD _RpcConfigurePort(
[in, unique] WINSPOOL_HANDLE pName,
[in] ULONG_PTR hWnd,
[in] WCHAR* pPortName
[in, string] WCHAR* pPortName
);
/* Function 0x27 */
@ -1242,7 +1242,7 @@ interface winspool {
DWORD _RpcDeleteMonitor(
[in, unique] WINSPOOL_HANDLE pName,
[in, string, unique] WCHAR* pEnvironment,
[in, string] WCHAR* pMonitorName
[in, string, unique] WCHAR* pMonitorName
);
/* Function 0x30 */
@ -1342,7 +1342,7 @@ interface winspool {
/* Function 0x3D */
DWORD _RpcAddPortEx(
[in] WINSPOOL_HANDLE pName,
[in, unique] WINSPOOL_HANDLE pName,
[in] WINSPOOL_PORT_CONTAINER* pPortContainer,
[in] WINSPOOL_PORT_VAR_CONTAINER* pPortVarContainer,
[in, string] WCHAR* pMonitorName
@ -1362,9 +1362,12 @@ interface winspool {
/* Function 0x3F */
DWORD _RpcSpoolerInit();
/* Function 0x40 (TODO) */
/* Function 0x40 */
DWORD _RpcResetPrinterEx(
/* TODO */
[in] WINSPOOL_PRINTER_HANDLE hPrinter,
[in, string, unique] WCHAR* pDatatype,
[in] WINSPOOL_DEVMODE_CONTAINER* pDevModeContainer,
[in] DWORD dwFlags
);
/* Function 0x41 */
@ -1514,9 +1517,13 @@ interface winspool {
[in, string] const WCHAR* pKeyName
);
/* Function 0x53 (TODO) */
/* Function 0x53 */
DWORD _RpcSeekPrinter(
/* TODO */
[in] WINSPOOL_PRINTER_HANDLE hPrinter,
[in] LARGE_INTEGER liDistanceToMove,
[out] PLARGE_INTEGER pliNewPointer,
[in] DWORD dwMoveMethod,
[in] BOOL bWrite
);
/* Function 0x54 */
@ -1553,7 +1560,7 @@ interface winspool {
/* Function 0x58 */
DWORD _RpcXcvData(
[in] WINSPOOL_PRINTER_HANDLE hXcv,
[in, unique] WINSPOOL_PRINTER_HANDLE hXcv,
[in, string] const WCHAR* pszDataName,
[in, size_is(cbInputData)] BYTE* pInputData,
[in] DWORD cbInputData,
@ -1577,7 +1584,7 @@ interface winspool {
/* Function 0x5B */
DWORD _RpcGetSpoolFileInfo(
[in] WINSPOOL_PRINTER_HANDLE hPrinter,
[in, unique] WINSPOOL_PRINTER_HANDLE hPrinter,
[in] WINSPOOL_HANDLE hProcessHandle,
[in] DWORD Level,
[in] WINSPOOL_FILE_INFO_1* pFileInfo,
@ -1587,8 +1594,8 @@ interface winspool {
/* Function 0x5C */
DWORD _RpcCommitSpoolData(
[in] WINSPOOL_PRINTER_HANDLE hPrinter,
[in] WINSPOOL_HANDLE hProcessHandle,
[in, unique] WINSPOOL_PRINTER_HANDLE hPrinter,
[in, unique] WINSPOOL_HANDLE hProcessHandle,
[in] DWORD cbCommit,
[in] DWORD Level,
[in] WINSPOOL_FILE_INFO_1* pFileInfo,
@ -1598,7 +1605,7 @@ interface winspool {
/* Function 0x5D */
DWORD _RpcGetSpoolFileInfo2(
[in] WINSPOOL_PRINTER_HANDLE hPrinter,
[in, unique] WINSPOOL_PRINTER_HANDLE hPrinter,
[in] DWORD dwProcessId,
[in] DWORD Level,
[in] WINSPOOL_FILE_INFO_CONTAINER* pFileInfoContainer
@ -1615,12 +1622,12 @@ interface winspool {
/* Function 0x5F */
DWORD _RpcCloseSpoolFileHandle(
[in] WINSPOOL_PRINTER_HANDLE hPrinter
[in, unique] WINSPOOL_PRINTER_HANDLE hPrinter
);
/* Function 0x60 */
DWORD _RpcFlushPrinter(
[in] WINSPOOL_PRINTER_HANDLE hPrinter,
[in, unique] WINSPOOL_PRINTER_HANDLE hPrinter,
[in, size_is(cbBuf)] BYTE* pBuf,
[in] DWORD cbBuf,
[out] DWORD* pcWritten,

View file

@ -105,6 +105,22 @@ BOOL WINAPI StrRetToStrNW(LPWSTR,DWORD,LPSTRRET,const ITEMIDLIST*);
#define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
#define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
/****************************************************************************
* SHChangeNotify
*/
typedef struct _SHCNF_PRINTJOB_INFO
{
DWORD JobId;
// More info,,,
} SHCNF_PRINTJOB_INFO, *PSHCNF_PRINTJOB_INFO;
//
// Add missing types for print job notifications.
//
#define SHCNF_PRINTJOBA 0x0004
#define SHCNF_PRINTJOBW 0x0007
/****************************************************************************
* Shell Common Dialogs