2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall AbortPrinter(ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub AddDriverCatalog
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall AddFormW(ptr long ptr)
|
2015-06-22 14:31:47 +00:00
|
|
|
@ stdcall AddJobW(long long ptr long ptr)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall AddMonitorW(wstr long ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub AddPerMachineConnectionW
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall AddPortExW(wstr long ptr wstr)
|
|
|
|
@ stdcall AddPortW(wstr ptr wstr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub AddPrinterConnectionW
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall AddPrinterDriverExW(wstr long ptr long)
|
|
|
|
@ stdcall AddPrinterDriverW(wstr long ptr)
|
|
|
|
@ stdcall AddPrinterExW(wstr long ptr ptr long)
|
|
|
|
@ stdcall AddPrinterW(wstr long ptr)
|
|
|
|
@ stdcall AddPrintProcessorW(wstr wstr wstr wstr)
|
|
|
|
@ stdcall AddPrintProvidorW(wstr long ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub AdjustPointers
|
|
|
|
@ stub AdjustPointersInStructuresArray
|
|
|
|
@ stub AlignKMPtr
|
2017-04-13 16:48:40 +00:00
|
|
|
@ stdcall AlignRpcPtr(ptr ptr)
|
2015-06-09 13:22:25 +00:00
|
|
|
@ stdcall AllocSplStr(ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub AllowRemoteCalls
|
|
|
|
@ stub AppendPrinterNotifyInfoData
|
|
|
|
@ stub bGetDevModePerUser
|
|
|
|
@ stub bSetDevModePerUser
|
2017-07-14 20:05:27 +00:00
|
|
|
@ stdcall BuildOtherNamesFromMachineName(ptr ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub CacheAddName
|
|
|
|
@ stub CacheCreateAndAddNode
|
|
|
|
@ stub CacheCreateAndAddNodeWithIPAddresses
|
|
|
|
@ stub CacheDeleteNode
|
|
|
|
@ stub CacheIsNameCluster
|
|
|
|
@ stub CacheIsNameInNodeList
|
|
|
|
@ stub CallDrvDevModeConversion
|
|
|
|
@ stub CallRouterFindFirstPrinterChangeNotification
|
|
|
|
@ stub CheckLocalCall
|
|
|
|
@ stdcall ClosePrinter(long)
|
|
|
|
@ stub ClusterSplClose
|
|
|
|
@ stub ClusterSplIsAlive
|
|
|
|
@ stub ClusterSplOpen
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall ConfigurePortW(wstr ptr wstr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub CreatePrinterIC
|
|
|
|
@ stub DbgGetPointers
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall DeleteFormW(ptr wstr)
|
|
|
|
@ stdcall DeleteMonitorW(wstr wstr wstr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub DeletePerMachineConnectionW
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall DeletePortW(wstr ptr wstr)
|
|
|
|
@ stdcall DeletePrinter(ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub DeletePrinterConnectionW
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall DeletePrinterDataExW(ptr wstr wstr)
|
|
|
|
@ stdcall DeletePrinterDataW(ptr wstr)
|
|
|
|
@ stdcall DeletePrinterDriverExW(wstr wstr wstr long long)
|
|
|
|
@ stdcall DeletePrinterDriverW(wstr wstr wstr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub DeletePrinterIC
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall DeletePrinterKeyW(ptr wstr)
|
|
|
|
@ stdcall DeletePrintProcessorW(wstr wstr wstr)
|
|
|
|
@ stdcall DeletePrintProvidorW(wstr wstr wstr)
|
2015-06-09 13:22:25 +00:00
|
|
|
@ stdcall DllAllocSplMem(long)
|
|
|
|
@ stdcall DllFreeSplMem(ptr)
|
|
|
|
@ stdcall DllFreeSplStr(ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stdcall EndDocPrinter(long)
|
|
|
|
@ stdcall EndPagePrinter(long)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall EnumFormsW(ptr long ptr long ptr ptr)
|
2015-06-27 12:36:45 +00:00
|
|
|
@ stdcall EnumJobsW(long long long long ptr long ptr ptr)
|
2015-07-07 17:06:48 +00:00
|
|
|
@ stdcall EnumMonitorsW(wstr long ptr long ptr ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub EnumPerMachineConnectionsW
|
2015-07-07 17:06:48 +00:00
|
|
|
@ stdcall EnumPortsW(wstr long ptr long ptr ptr)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall EnumPrinterDataExW(ptr wstr ptr long ptr ptr)
|
|
|
|
@ stdcall EnumPrinterDataW(ptr long wstr long ptr ptr ptr long ptr)
|
|
|
|
@ stdcall EnumPrinterDriversW(wstr wstr long ptr long ptr ptr)
|
|
|
|
@ stdcall EnumPrinterKeyW(ptr wstr wstr long ptr)
|
2015-07-07 17:06:48 +00:00
|
|
|
@ stdcall EnumPrintersW(long wstr long ptr long ptr ptr)
|
|
|
|
@ stdcall EnumPrintProcessorDatatypesW(wstr wstr long ptr long ptr ptr)
|
|
|
|
@ stdcall EnumPrintProcessorsW(wstr wstr long ptr long ptr ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub FindClosePrinterChangeNotification
|
|
|
|
@ stub FlushPrinter
|
|
|
|
@ stub FormatPrinterForRegistryKey
|
|
|
|
@ stub FormatRegistryKeyForPrinter
|
|
|
|
@ stub FreeOtherNames
|
|
|
|
@ stub GetClientUserHandle
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall GetFormW(ptr wstr long ptr long ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub GetJobAttributes
|
2015-06-22 14:31:47 +00:00
|
|
|
@ stdcall GetJobW(long long long ptr long ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub GetNetworkId
|
[PRINTING]
- Implement GetPrinterDataA, GetPrinterDataExA, GetPrinterDataExW, GetPrinterDataW, SetPrinterDataA, SetPrinterDataExA, SetPrinterDataExW, SetPrinterDataW.
They support all features for Print Server and Printer Handles (minus security checks!)
I've also added tests for them.
- Store Printer data in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead of SYSTEM\CurrentControlSet\Control\Print\Printers and create a registry symlink from the former path to the new one just like Windows does.
According to https://social.technet.microsoft.com/Forums/windowsserver/en-US/a683ab54-c43c-4ebe-af8f-1f7a65af2a51, this is needed when having >900 printers to work around a size limit of the SYSTEM registry hive. And if Windows has both locations, we need both for compatibility anyway.
- Add several settings which are queried by the new Printer Data APIs when working with Print Server Handles.
- Store the job directory in the Windows-compatible "DefaultSpoolDirectory" setting and make use of it.
- Revert the ASSERTs in LocalEnumPrinters again to let us verify the NULL pointer exceptions in localspl_apitest (thanks Serge! CORE-13433)
- Translate ERROR_INVALID_NAME to ERROR_INVALID_PRINTER_NAME in all cases in OpenPrinterW (thanks Victor! CORE-13412)
- Make EnumMonitorsW and EnumPortsW in spoolss more robust against failing Print Monitors.
- Remove the wrong !phPrinter check in OpenPrinterW to make Print Server Handles work for real.
- Fix error handling when memory allocation fails: HeapAlloc doesn't set last error, so it's just wrong to query or return it.
One more item done from https://reactos.org/wiki/Printing !
This is all still a big Work-in-Progress, with many subtle bugs deep down in ReactOS, for which I need to open additional tickets. But I didn't want to make this commit even bigger..
svn path=/trunk/; revision=75125
2017-06-19 14:18:19 +00:00
|
|
|
@ stdcall GetPrinterDataExW(long wstr wstr ptr ptr long ptr)
|
|
|
|
@ stdcall GetPrinterDataW(long wstr ptr ptr long ptr)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall GetPrinterDriverDirectoryW(wstr wstr long ptr long ptr)
|
|
|
|
@ stdcall GetPrinterDriverExW(ptr wstr long ptr long ptr long long ptr ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stdcall GetPrinterDriverW(long wstr long ptr long ptr)
|
|
|
|
@ stdcall GetPrinterW(long long ptr long ptr)
|
|
|
|
@ stdcall GetPrintProcessorDirectoryW(wstr wstr long ptr long ptr)
|
|
|
|
@ stub GetServerPolicy
|
|
|
|
@ stub GetShrinkedSize
|
2015-05-12 14:43:25 +00:00
|
|
|
@ stdcall ImpersonatePrinterClient(long)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stdcall InitializeRouter(long)
|
|
|
|
@ stub IsNamedPipeRpcCall
|
|
|
|
@ stub LoadDriver
|
|
|
|
@ stub LoadDriverFiletoConvertDevmode
|
|
|
|
@ stub LoadDriverWithVersion
|
|
|
|
@ stub LogWmiTraceEvent
|
2015-06-24 16:26:33 +00:00
|
|
|
@ stdcall MarshallDownStructure(ptr ptr long long)
|
2018-01-17 09:13:25 +00:00
|
|
|
@ stdcall MarshallDownStructuresArray(ptr long ptr long long)
|
|
|
|
@ stdcall MarshallUpStructure(long ptr ptr long long)
|
|
|
|
@ stdcall MarshallUpStructuresArray(long ptr long ptr long long)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub MIDL_user_allocate1
|
|
|
|
@ stub MIDL_user_free1
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall OldGetPrinterDriverW(long wstr long ptr long ptr) GetPrinterDriverW
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub OpenPrinterExW
|
|
|
|
@ stub OpenPrinterPortW
|
|
|
|
@ stdcall OpenPrinterW(wstr ptr ptr)
|
2015-06-05 15:52:39 +00:00
|
|
|
@ stdcall PackStrings(ptr ptr ptr ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub PartialReplyPrinterChangeNotification
|
|
|
|
@ stub PlayGdiScriptOnPrinterIC
|
|
|
|
@ stub PrinterHandleRundown
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall PrinterMessageBoxW(ptr long ptr wstr wstr long)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub ProvidorFindClosePrinterChangeNotification
|
|
|
|
@ stub ProvidorFindFirstPrinterChangeNotification
|
|
|
|
@ stub pszDbgAllocMsgA
|
2015-06-28 15:51:32 +00:00
|
|
|
@ stdcall ReadPrinter(long ptr long ptr)
|
2015-06-09 13:22:25 +00:00
|
|
|
@ stdcall ReallocSplMem(ptr long long)
|
|
|
|
@ stdcall ReallocSplStr(ptr ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub RemoteFindFirstPrinterChangeNotification
|
|
|
|
@ stub ReplyClosePrinter
|
|
|
|
@ stub ReplyOpenPrinter
|
|
|
|
@ stub ReplyPrinterChangeNotification
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall -stub ResetPrinterW(ptr ptr)
|
2015-05-12 14:43:25 +00:00
|
|
|
@ stdcall RevertToPrinterSelf()
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub RouterAllocBidiMem
|
|
|
|
@ stub RouterAllocBidiResponseContainer
|
|
|
|
@ stub RouterAllocPrinterNotifyInfo
|
|
|
|
@ stub RouterFindFirstPrinterChangeNotification
|
|
|
|
@ stub RouterFindNextPrinterChangeNotification
|
|
|
|
@ stub RouterFreeBidiMem
|
|
|
|
@ stub RouterFreePrinterNotifyInfo
|
|
|
|
@ stub RouterRefreshPrinterChangeNotification
|
|
|
|
@ stub RouterReplyPrinter
|
2015-06-28 15:51:32 +00:00
|
|
|
@ stdcall ScheduleJob(long long)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall SeekPrinter(ptr int64 ptr long long)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub SendRecvBidiData
|
|
|
|
@ stub SetAllocFailCount
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall SetFormW(ptr wstr long ptr)
|
2015-06-27 12:36:45 +00:00
|
|
|
@ stdcall SetJobW(long long long ptr long)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall SetPortW(wstr wstr long ptr)
|
[PRINTING]
- Implement GetPrinterDataA, GetPrinterDataExA, GetPrinterDataExW, GetPrinterDataW, SetPrinterDataA, SetPrinterDataExA, SetPrinterDataExW, SetPrinterDataW.
They support all features for Print Server and Printer Handles (minus security checks!)
I've also added tests for them.
- Store Printer data in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead of SYSTEM\CurrentControlSet\Control\Print\Printers and create a registry symlink from the former path to the new one just like Windows does.
According to https://social.technet.microsoft.com/Forums/windowsserver/en-US/a683ab54-c43c-4ebe-af8f-1f7a65af2a51, this is needed when having >900 printers to work around a size limit of the SYSTEM registry hive. And if Windows has both locations, we need both for compatibility anyway.
- Add several settings which are queried by the new Printer Data APIs when working with Print Server Handles.
- Store the job directory in the Windows-compatible "DefaultSpoolDirectory" setting and make use of it.
- Revert the ASSERTs in LocalEnumPrinters again to let us verify the NULL pointer exceptions in localspl_apitest (thanks Serge! CORE-13433)
- Translate ERROR_INVALID_NAME to ERROR_INVALID_PRINTER_NAME in all cases in OpenPrinterW (thanks Victor! CORE-13412)
- Make EnumMonitorsW and EnumPortsW in spoolss more robust against failing Print Monitors.
- Remove the wrong !phPrinter check in OpenPrinterW to make Print Server Handles work for real.
- Fix error handling when memory allocation fails: HeapAlloc doesn't set last error, so it's just wrong to query or return it.
One more item done from https://reactos.org/wiki/Printing !
This is all still a big Work-in-Progress, with many subtle bugs deep down in ReactOS, for which I need to open additional tickets. But I didn't want to make this commit even bigger..
svn path=/trunk/; revision=75125
2017-06-19 14:18:19 +00:00
|
|
|
@ stdcall SetPrinterDataExW(long wstr wstr long ptr long)
|
|
|
|
@ stdcall SetPrinterDataW(long wstr long ptr long)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall SetPrinterW(ptr long ptr long)
|
2020-08-02 19:49:06 +00:00
|
|
|
@ stdcall SplCloseSpoolFileHandle(ptr)
|
|
|
|
@ stdcall SplCommitSpoolData(ptr ptr long long ptr long ptr)
|
2020-08-26 22:12:20 +00:00
|
|
|
@ stdcall -stub SplDriverUnloadComplete(wstr)
|
2020-08-02 19:49:06 +00:00
|
|
|
@ stdcall SplGetSpoolFileInfo(ptr ptr long ptr long ptr)
|
2015-06-09 13:22:25 +00:00
|
|
|
@ stdcall SplInitializeWinSpoolDrv(ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub SplIsSessionZero
|
2015-06-09 13:22:25 +00:00
|
|
|
@ stdcall SplIsUpgrade()
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub SplPowerEvent
|
|
|
|
@ stub SplProcessPnPEvent
|
|
|
|
@ stub SplPromptUIInUsersSession
|
|
|
|
@ stub SplReadPrinter
|
|
|
|
@ stub SplRegisterForDeviceEvents
|
|
|
|
@ stub SplShutDownRouter
|
|
|
|
@ stub SplUnregisterForDeviceEvents
|
|
|
|
@ stub SpoolerFindClosePrinterChangeNotification
|
|
|
|
@ stub SpoolerFindFirstPrinterChangeNotification
|
|
|
|
@ stub SpoolerFindNextPrinterChangeNotification
|
|
|
|
@ stub SpoolerFreePrinterNotifyInfo
|
|
|
|
@ stub SpoolerHasInitialized
|
2015-05-12 14:43:25 +00:00
|
|
|
@ stdcall SpoolerInit()
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stdcall StartDocPrinterW(long long ptr)
|
|
|
|
@ stdcall StartPagePrinter(long)
|
|
|
|
@ stub UndoAlignKMPtr
|
2017-04-13 16:48:40 +00:00
|
|
|
@ stdcall UndoAlignRpcPtr(ptr ptr long ptr)
|
2015-05-06 12:47:20 +00:00
|
|
|
@ stub UnloadDriver
|
|
|
|
@ stub UnloadDriverFile
|
|
|
|
@ stub UpdateBufferSize
|
|
|
|
@ stub UpdatePrinterRegAll
|
|
|
|
@ stub UpdatePrinterRegUser
|
|
|
|
@ stub vDbgLogError
|
|
|
|
@ stub WaitForPrinterChange
|
|
|
|
@ stub WaitForSpoolerInitialization
|
|
|
|
@ stdcall WritePrinter(long ptr long ptr)
|
|
|
|
@ stdcall XcvDataW(long wstr ptr long ptr long ptr ptr)
|