4 * IRemoteWinspool interface definitions
6 * This IDL defines the "Print System Asynchronous Remote Protocol" MS-PAR
9 * Currently only eight functions in this interface have no matching functions
10 * in the "spoolss" interface. All other functions have a 1-to-1 match but
11 * different opcodes than the spoolss interface.
13 * Every request on this interface requires a object uuid of
14 * "9940CA8E-512F-4C58-88A9-61098D6896BD" to be sent along with the DCE/RPC
17 * On Windows, this interface uses [ncacn_ip_tcp] transport and requires
18 * DCERPC_AUTH_TYPE_SPNEGO and at least DCERPC_AUTH_LEVEL_PACKET authentication.
23 import "misc.idl", "security.idl", "winreg.idl", "spoolss.idl";
26 uuid("76f03f96-cdfd-44fc-a22c-64950A001209"),
28 endpoint("ncacn_ip_tcp:"),
29 pointer_default(unique),
30 helpstring("IRemoteWinspool SubSystem")
32 interface iremotewinspool
36 * pidl does not yet have a real [context_handle] implementation, so we
37 * just use some defines here.
40 typedef [context_handle] void *GDI_HANDLE;
41 typedef [context_handle] void *PRINTER_HANDLE;
42 typedef [context_handle] void *RMTNTFY_HANDLE;
44 #define GDI_HANDLE policy_handle
45 #define PRINTER_HANDLE policy_handle
46 #define RMTNTFY_HANDLE policy_handle
49 const string IREMOTEWINSPOOL_OBJECT_GUID = "9940CA8E-512F-4C58-88A9-61098D6896BD";
55 spoolss_NotifyInfo *pInfo;
56 } winspool_NOTIFY_REPLY_CONTAINER;
59 spoolss_NotifyOption *pOptions;
60 } winspool_NOTIFY_OPTIONS_CONTAINER;
62 [public] WERROR winspool_AsyncOpenPrinter(
63 [in,unique] [string,charset(UTF16)] uint16 *pPrinterName,
64 [out] PRINTER_HANDLE *pHandle,
65 [in,unique] [string,charset(UTF16)] uint16 *pDatatype,
66 [in] spoolss_DevmodeContainer *pDevModeContainer,
67 [in] uint32 AccessRequired,
68 [in] spoolss_UserLevelCtr *pClientInfo
74 WERROR winspool_AsyncAddPrinter(
75 [in,unique] [string,charset(UTF16)] uint16 *pName,
76 [in] spoolss_SetPrinterInfoCtr *pPrinterContainer,
77 [in] spoolss_DevmodeContainer *pDevModeContainer,
78 [in] sec_desc_buf *pSecurityContainer,
79 [in] spoolss_UserLevelCtr *pClientInfo,
80 [out] PRINTER_HANDLE *pHandle
86 WERROR winspool_AsyncSetJob(
87 [in] PRINTER_HANDLE hPrinter,
89 [in, unique] spoolss_JobInfoContainer *pJobContainer,
96 WERROR winspool_AsyncGetJob(
97 [in] PRINTER_HANDLE hPrinter,
100 [in, out, unique, size_is(cbBuf)] uint8 *pJob,
102 [out] uint32 *pcbNeeded
108 WERROR winspool_AsyncEnumJobs(
109 [in] PRINTER_HANDLE hPrinter,
110 [in] uint32 FirstJob,
113 [in, out, unique, size_is(cbBuf)] uint8 *pJob,
115 [out] uint32 *pcbNeeded,
116 [out] uint32 *pcReturned
122 WERROR winspool_AsyncAddJob(
123 [in] PRINTER_HANDLE hPrinter,
125 [in, out, unique, size_is(cbBuf)] uint8 *pAddJob,
127 [out] uint32 *pcbNeeded
133 WERROR winspool_AsyncScheduleJob(
134 [in] PRINTER_HANDLE hPrinter,
141 WERROR winspool_AsyncDeletePrinter(
142 [in] PRINTER_HANDLE hPrinter
148 [public] WERROR winspool_AsyncSetPrinter(
149 [in] PRINTER_HANDLE hPrinter,
150 [in] spoolss_SetPrinterInfoCtr *pPrinterContainer,
151 [in] spoolss_DevmodeContainer *pDevModeContainer,
152 [in] sec_desc_buf *pSecurityContainer,
159 [public] WERROR winspool_AsyncGetPrinter(
160 [in] PRINTER_HANDLE hPrinter,
162 [in, out, unique, size_is(cbBuf)] uint8 *pPrinter,
164 [out] uint32 *pcbNeeded
170 WERROR winspool_AsyncStartDocPrinter(
171 [in] PRINTER_HANDLE hPrinter,
172 [in] spoolss_DocumentInfoCtr *pDocInfoContainer,
179 WERROR winspool_AsyncStartPagePrinter(
180 [in] PRINTER_HANDLE hPrinter
186 WERROR winspool_AsyncWritePrinter(
187 [in] PRINTER_HANDLE hPrinter,
188 [in, size_is(cbBuf)] uint8 *pBuf,
190 [out] uint32 *pcWritten
196 WERROR winspool_AsyncEndPagePrinter(
197 [in] PRINTER_HANDLE hPrinter
203 WERROR winspool_AsyncEndDocPrinter(
204 [in] PRINTER_HANDLE hPrinter
210 WERROR winspool_AsyncAbortPrinter(
211 [in] PRINTER_HANDLE hPrinter
217 [public] WERROR winspool_AsyncGetPrinterData(
218 [in] PRINTER_HANDLE hPrinter,
219 [in] [string,charset(UTF16)] uint16 *pValueName,
221 [out, size_is(nSize)] uint8 *pData,
223 [out] uint32 *pcbNeeded
229 WERROR winspool_AsyncGetPrinterDataEx(
230 [in] PRINTER_HANDLE hPrinter,
231 [in] [string,charset(UTF16)] uint16 *pKeyName,
232 [in] [string,charset(UTF16)] uint16 *pValueName,
234 [out, size_is(nSize)] uint8 *pData,
236 [out] uint32 *pcbNeeded
242 WERROR winspool_AsyncSetPrinterData(
243 [in] PRINTER_HANDLE hPrinter,
244 [in] [string,charset(UTF16)] uint16 *pValueName,
246 [in, size_is(cbData)] uint8 *pData,
253 WERROR winspool_AsyncSetPrinterDataEx(
254 [in] PRINTER_HANDLE hPrinter,
255 [in] [string,charset(UTF16)] uint16 *pKeyName,
256 [in] [string,charset(UTF16)] uint16 *pValueName,
258 [in, size_is(cbData)] uint8 *pData,
265 [public] WERROR winspool_AsyncClosePrinter(
266 [in, out] PRINTER_HANDLE *phPrinter
272 WERROR winspool_AsyncAddForm(
273 [in] PRINTER_HANDLE hPrinter,
274 [in] spoolss_AddFormInfoCtr *pFormInfoContainer
280 WERROR winspool_AsyncDeleteForm(
281 [in] PRINTER_HANDLE hPrinter,
282 [in] [string,charset(UTF16)] uint16 *pFormName
288 WERROR winspool_AsyncGetForm(
289 [in] PRINTER_HANDLE hPrinter,
290 [in] [string,charset(UTF16)] uint16 *pFormName,
292 [in, out, unique, size_is(cbBuf)] uint8 *pForm,
294 [out] uint32 *pcbNeeded
300 WERROR winspool_AsyncSetForm(
301 [in] PRINTER_HANDLE hPrinter,
302 [in] [string,charset(UTF16)] uint16 *pFormName,
303 [in] spoolss_AddFormInfoCtr *pFormInfoContainer
309 [public] WERROR winspool_AsyncEnumForms(
310 [in] PRINTER_HANDLE hPrinter,
312 [in, out, unique, size_is(cbBuf)] uint8 *pForm,
314 [out] uint32 *pcbNeeded,
315 [out] uint32 *pcReturned
321 [public] WERROR winspool_AsyncGetPrinterDriver(
322 [in] PRINTER_HANDLE hPrinter,
323 [in,unique] [string,charset(UTF16)] uint16 *pEnvironment,
325 [in, out, unique, size_is(cbBuf)] uint8 *pDriver,
327 [out] uint32 *pcbNeeded,
328 [in] uint32 dwClientMajorVersion,
329 [in] uint32 dwClientMinorVersion,
330 [out] uint32 *pdwServerMaxVersion,
331 [out] uint32 *pdwServerMinVersion
337 WERROR winspool_AsyncEnumPrinterData(
338 [in] PRINTER_HANDLE hPrinter,
340 [out, size_is(cbValueName/2)] uint16 *pValueName,
341 [in] uint32 cbValueName,
342 [out] uint32 *pcbValueName,
344 [out, size_is(cbData)] uint8 *pData,
346 [out] uint32 *pcbData
352 [public] WERROR winspool_AsyncEnumPrinterDataEx(
353 [in] PRINTER_HANDLE hPrinter,
354 [in] [string,charset(UTF16)] uint16 *pKeyName,
355 [out, size_is(cbEnumValues)] uint8 *pEnumValues,
356 [in] uint32 cbEnumValues,
357 [out] uint32 *pcbEnumValues,
358 [out] uint32 *pnEnumValues
364 [public] WERROR winspool_AsyncEnumPrinterKey(
365 [in] PRINTER_HANDLE hPrinter,
366 [in] [string,charset(UTF16)] uint16 *pKeyName,
367 [out, size_is(cbSubkey/2)] uint16 *pSubkey,
368 [in] uint32 cbSubkey,
369 [out] uint32 *pcbSubkey
375 WERROR winspool_AsyncDeletePrinterData(
376 [in] PRINTER_HANDLE hPrinter,
377 [in] [string,charset(UTF16)] uint16 *pValueName
383 WERROR winspool_AsyncDeletePrinterDataEx(
384 [in] PRINTER_HANDLE hPrinter,
385 [in] [string,charset(UTF16)] uint16 *pKeyName,
386 [in] [string,charset(UTF16)] uint16 *pValueName
392 WERROR winspool_AsyncDeletePrinterKey(
393 [in] PRINTER_HANDLE hPrinter,
394 [in] [string,charset(UTF16)] uint16 *pKeyName
400 WERROR winspool_AsyncXcvData(
401 [in] PRINTER_HANDLE hXcv,
402 [in] [string,charset(UTF16)] uint16 *pszDataName,
403 [in, size_is(cbInputData)] uint8 *pInputData,
404 [in] uint32 cbInputData,
405 [out, size_is(cbOutputData)] uint8 *pOutputData,
406 [in] uint32 cbOutputData,
407 [out] uint32 *pcbOutputNeeded,
408 [in, out] uint32 *pdwStatus
414 WERROR winspool_AsyncSendRecvBidiData (
415 [in] PRINTER_HANDLE hPrinter,
416 [in,unique] [string,charset(UTF16)] uint16 *pAction,
417 [in] RPC_BIDI_REQUEST_CONTAINER* pReqData,
418 [out] RPC_BIDI_RESPONSE_CONTAINER** ppRespData
424 WERROR winspool_AsyncCreatePrinterIC(
425 [in] PRINTER_HANDLE hPrinter,
426 [out] GDI_HANDLE *pHandle,
427 [in] spoolss_DevmodeContainer *pDevModeContainer
433 WERROR winspool_AsyncPlayGdiScriptOnPrinterIC(
434 [in] GDI_HANDLE hPrinterIC,
435 [in, size_is(cIn)] uint8 *pIn,
437 [out, size_is(cOut)] uint8 *pOut,
445 WERROR winspool_AsyncDeletePrinterIC(
446 [in, out] GDI_HANDLE *phPrinterIC
452 WERROR winspool_AsyncEnumPrinters(
454 [in,unique] [string,charset(UTF16)] uint16 *pName,
456 [in, out, unique, size_is(cbBuf)] uint8 *pPrinterEnum,
458 [out] uint32 *pcbNeeded,
459 [out] uint32 *pcReturned
465 [public] WERROR winspool_AsyncAddPrinterDriver(
466 [in,unique] [string,charset(UTF16)] uint16 *pName,
467 [in] spoolss_AddDriverInfoCtr *pDriverContainer,
468 [in] uint32 dwFileCopyFlags
474 WERROR winspool_AsyncEnumPrinterDrivers(
475 [in,unique] [string,charset(UTF16)] uint16 *pName,
476 [in,unique] [string,charset(UTF16)] uint16 *pEnvironment,
478 [in, out, unique, size_is(cbBuf)] uint8 *pDrivers,
480 [out] uint32 *pcbNeeded,
481 [out] uint32 *pcReturned
487 [public] WERROR winspool_AsyncGetPrinterDriverDirectory(
488 [in,unique] [string,charset(UTF16)] uint16 *pName,
489 [in,unique] [string,charset(UTF16)] uint16 *pEnvironment,
491 [in, out, unique, size_is(cbBuf)] uint8 *pDriverDirectory,
493 [out] uint32 *pcbNeeded
499 WERROR winspool_AsyncDeletePrinterDriver(
500 [in,unique] [string,charset(UTF16)] uint16 *pName,
501 [in] [string,charset(UTF16)] uint16 *pEnvironment,
502 [in] [string,charset(UTF16)] uint16 *pDriverName
508 WERROR winspool_AsyncDeletePrinterDriverEx(
509 [in,unique] [string,charset(UTF16)] uint16 *pName,
510 [in] [string,charset(UTF16)] uint16 *pEnvironment,
511 [in] [string,charset(UTF16)] uint16 *pDriverName,
512 [in] uint32 dwDeleteFlag,
513 [in] uint32 dwVersionNum
519 WERROR winspool_AsyncAddPrintProcessor(
520 [in,unique] [string,charset(UTF16)] uint16 *pName,
521 [in] [string,charset(UTF16)] uint16 *pEnvironment,
522 [in] [string,charset(UTF16)] uint16 *pPathName,
523 [in] [string,charset(UTF16)] uint16 *pPrintProcessorName
529 WERROR winspool_AsyncEnumPrintProcessors(
530 [in,unique] [string,charset(UTF16)] uint16 *pName,
531 [in,unique] [string,charset(UTF16)] uint16 *pEnvironment,
533 [in, out, unique, size_is(cbBuf)] uint8 *pPrintProcessorInfo,
535 [out] uint32 *pcbNeeded,
536 [out] uint32 *pcReturned
542 WERROR winspool_AsyncGetPrintProcessorDirectory(
543 [in,unique] [string,charset(UTF16)] uint16 *pName,
544 [in,unique] [string,charset(UTF16)] uint16 *pEnvironment,
546 [in, out, unique, size_is(cbBuf)] uint8 *pPrintProcessorDirectory,
548 [out] uint32 *pcbNeeded
554 WERROR winspool_AsyncEnumPorts(
555 [in,unique] [string,charset(UTF16)] uint16 *pName,
557 [in, out, unique, size_is(cbBuf)] uint8 *pPort,
559 [out] uint32 *pcbNeeded,
560 [out] uint32 *pcReturned
566 WERROR winspool_AsyncEnumMonitors(
567 [in,unique] [string,charset(UTF16)] uint16 *pName,
569 [in, out, unique, size_is(cbBuf)] uint8 *pMonitor,
571 [out] uint32 *pcbNeeded,
572 [out] uint32 *pcReturned
578 WERROR winspool_AsyncAddPort(
579 [in,unique] [string,charset(UTF16)] uint16 *pName,
580 [in] spoolss_SetPortInfoContainer *pPortContainer,
581 [in] spoolss_PortVarContainer *pPortVarContainer,
582 [in] [string,charset(UTF16)] uint16 *pMonitorName
588 WERROR winspool_AsyncSetPort(
589 [in,unique] [string,charset(UTF16)] uint16 *pName,
590 [in,unique] [string,charset(UTF16)] uint16 *pPortName,
591 [in] spoolss_SetPortInfoContainer *pPortContainer
597 WERROR winspool_AsyncAddMonitor(
598 [in,unique] [string,charset(UTF16)] uint16 *Name,
599 [in] spoolss_MonitorContainer *pMonitorContainer
605 WERROR winspool_AsyncDeleteMonitor(
606 [in,unique] [string,charset(UTF16)] uint16 *Name,
607 [in,unique] [string,charset(UTF16)] uint16 *pEnvironment,
608 [in] [string,charset(UTF16)] uint16 *pMonitorName
614 WERROR winspool_AsyncDeletePrintProcessor(
615 [in,unique] [string,charset(UTF16)] uint16 *Name,
616 [in,unique] [string,charset(UTF16)] uint16 *pEnvironment,
617 [in] [string,charset(UTF16)] uint16 *pPrintProcessorName
623 WERROR winspool_AsyncEnumPrintProcessorDatatypes(
624 [in,unique] [string,charset(UTF16)] uint16 *pName,
625 [in,unique] [string,charset(UTF16)] uint16 *pPrintProcessorName,
627 [in, out, unique, size_is(cbBuf)] uint8 *pDatatypes,
629 [out] uint32 *pcbNeeded,
630 [out] uint32 *pcReturned
636 WERROR winspool_AsyncAddPerMachineConnection(
637 [in,unique] [string,charset(UTF16)] uint16 *pServer,
638 [in] [string,charset(UTF16)] uint16 *pPrinterName,
639 [in] [string,charset(UTF16)] uint16 *pPrintServer,
640 [in] [string,charset(UTF16)] uint16 *pProvider
646 WERROR winspool_AsyncDeletePerMachineConnection(
647 [in,unique] [string,charset(UTF16)] uint16 *pServer,
648 [in] [string,charset(UTF16)] uint16 *pPrinterName
654 WERROR winspool_AsyncEnumPerMachineConnections(
655 [in,unique] [string,charset(UTF16)] uint16 *pServer,
656 [in, out, unique, size_is(cbBuf)] uint8 *pPrinterEnum,
658 [out] uint32 *pcbNeeded,
659 [out] uint32 *pcReturned
666 winspool_PropertyTypeString = 1,
667 winspool_PropertyTypeInt32 = 2,
668 winspool_PropertyTypeInt64 = 3,
669 winspool_PropertyTypeByte = 4,
670 winspool_PropertyTypeTime = 5,
671 winspool_PropertyTypeDevMode = 6,
672 winspool_PropertyTypeSD = 7,
673 winspool_PropertyTypeNotificationReply = 8,
674 winspool_PropertyTypeNotificationOptions = 9
675 } winspool_PrintPropertyType;
677 typedef [ms_union,switch_type(winspool_PrintPropertyType)] union {
678 [case(winspool_PropertyTypeString)] [string,charset(UTF16)] uint16 *propertyString;
679 [case(winspool_PropertyTypeInt32)] uint32 propertyInt32;
680 [case(winspool_PropertyTypeInt64)] hyper propertyInt64;
681 [case(winspool_PropertyTypeByte)] uint8 propertyByte;
682 [case(winspool_PropertyTypeTime)] spoolss_TimeCtr propertyTimeContainer;
683 [case(winspool_PropertyTypeDevMode)] spoolss_DevmodeContainer propertyDevModeContainer;
684 [case(winspool_PropertyTypeSD)] sec_desc_buf propertySDContainer;
685 [case(winspool_PropertyTypeNotificationReply)] winspool_NOTIFY_REPLY_CONTAINER propertyReplyContainer;
686 [case(winspool_PropertyTypeNotificationOptions)] winspool_NOTIFY_OPTIONS_CONTAINER propertyOptionsContainer;
687 } winspool_PrintPropertyValueUnion;
690 winspool_PrintPropertyType PropertyType;
691 [switch_is(PropertyType)] winspool_PrintPropertyValueUnion value;
692 } winspool_PrintPropertyValue;
695 [string,charset(UTF16)] uint16 *propertyName;
696 winspool_PrintPropertyValue propertyValue;
697 } winspool_PrintNamedProperty;
700 [range(0,50)] uint32 numberOfProperties;
701 [size_is(numberOfProperties), unique] winspool_PrintNamedProperty *propertiesCollection;
702 } winspool_PrintPropertiesCollection;
704 [public] HRESULT winspool_SyncRegisterForRemoteNotifications(
705 [in] PRINTER_HANDLE hPrinter,
706 [in] winspool_PrintPropertiesCollection *pNotifyFilter,
707 [out] RMTNTFY_HANDLE *phRpcHandle
713 HRESULT winspool_SyncUnRegisterForRemoteNotifications(
714 [in, out] RMTNTFY_HANDLE *phRpcHandle
720 HRESULT winspool_SyncRefreshRemoteNotifications(
721 [in] RMTNTFY_HANDLE hRpcHandle,
722 [in] winspool_PrintPropertiesCollection *pNotifyFilter,
723 [out] winspool_PrintPropertiesCollection **ppNotifyData
729 HRESULT winspool_AsyncGetRemoteNotifications(
730 [in] RMTNTFY_HANDLE hRpcHandle,
731 [out] winspool_PrintPropertiesCollection **ppNotifyData
737 typedef [bitmap32bit] bitmap {
738 IPDFP_FLAG_NONE = 0x00000000,
739 IPDFP_COPY_ALL_FILES = 0x00000001
740 } winspool_InstallPrinterDriverFromPackageFlags;
742 HRESULT winspool_AsyncInstallPrinterDriverFromPackage(
743 [in,unique] [string,charset(UTF16)] uint16 *pszServer,
744 [in,unique] [string,charset(UTF16)] uint16 *pszInfPath,
745 [in] [string,charset(UTF16)] uint16 *pszDriverName,
746 [in] [string,charset(UTF16)] uint16 *pszEnvironment,
747 [in] winspool_InstallPrinterDriverFromPackageFlags dwFlags
753 typedef [bitmap32bit] bitmap {
754 UPDP_FLAG_NONE = 0x00000000,
755 UPDP_UPLOAD_ALWAYS = 0x00000002,
756 UPDP_CHECK_DRIVERSTORE = 0x00000004
757 } winspool_UploadPrinterDriverPackageFlags;
759 HRESULT winspool_AsyncUploadPrinterDriverPackage(
760 [in,unique] [string,charset(UTF16)] uint16 *pszServer,
761 [in] [string,charset(UTF16)] uint16 *pszInfPath,
762 [in] [string,charset(UTF16)] uint16 *pszEnvironment,
763 [in] winspool_UploadPrinterDriverPackageFlags dwFlags,
764 [in, out, unique, size_is(*pcchDestInfPath)] [charset(UTF16)] uint16 *pszDestInfPath,
765 [in, out] uint32 *pcchDestInfPath
771 [public] HRESULT winspool_AsyncGetCorePrinterDrivers(
772 [in,unique] [string,charset(UTF16)] uint16 *pszServer,
773 [in] [string,charset(UTF16)] uint16 *pszEnvironment,
774 [in] uint32 cchCoreDrivers,
775 [in, size_is(cchCoreDrivers)] uint16 *pszzCoreDriverDependencies,
776 [in] uint32 cCorePrinterDrivers,
777 [out, size_is(cCorePrinterDrivers)] spoolss_CorePrinterDriver *pCorePrinterDrivers
783 HRESULT winspool_AsyncCorePrinterDriverInstalled(
784 [in,unique] [string,charset(UTF16)] uint16 *pszServer,
785 [in] [string,charset(UTF16)] uint16 *pszEnvironment,
786 [in] GUID CoreDriverGUID,
787 [in] NTTIME ftDriverDate,
788 [in] hyper dwlDriverVersion,
789 [out] int *pbDriverInstalled
795 HRESULT winspool_AsyncGetPrinterDriverPackagePath(
796 [in,unique] [string,charset(UTF16)] uint16 *pszServer,
797 [in] [string,charset(UTF16)] uint16 *pszEnvironment,
798 [in,unique] [string,charset(UTF16)] uint16 *pszLanguage,
799 [in] [string,charset(UTF16)] uint16 *pszPackageID,
800 [in, out, unique, size_is(cchDriverPackageCab)] uint16 *pszDriverPackageCab,
801 [in] uint32 cchDriverPackageCab,
802 [out] uint32 *pcchRequiredSize
808 HRESULT winspool_AsyncDeletePrinterDriverPackage(
809 [in,unique] [string,charset(UTF16)] uint16 *pszServer,
810 [in] [string,charset(UTF16)] uint16 *pszInfPath,
811 [in] [string,charset(UTF16)] uint16 *pszEnvironment
817 WERROR winspool_AsyncReadPrinter(
818 [in] PRINTER_HANDLE hPrinter,
819 [out, size_is(cbBuf)] uint8 *pBuf,
821 [out] uint32 *pcNoBytesRead
827 WERROR winspool_AsyncResetPrinter(
828 [in] PRINTER_HANDLE hPrinter,
829 [in,unique] [string,charset(UTF16)] uint16 *pDatatype,
830 [in] spoolss_DevmodeContainer *pDevModeContainer
836 WERROR winspool_AsyncGetJobNamedPropertyValue(
837 [in] PRINTER_HANDLE hPrinter,
839 [in] [string,charset(UTF16)] uint16 *pszName,
840 [out] spoolss_PrintPropertyValue *pValue
846 [public] WERROR winspool_AsyncSetJobNamedProperty(
847 [in] PRINTER_HANDLE hPrinter,
849 [in] spoolss_PrintNamedProperty *pProperty
855 WERROR winspool_AsyncDeleteJobNamedProperty(
856 [in] PRINTER_HANDLE hPrinter,
858 [in] [string,charset(UTF16)] uint16 *pszName
864 WERROR winspool_AsyncEnumJobNamedProperties(
865 [in] PRINTER_HANDLE hPrinter,
867 [out] uint32 *pcProperties,
868 [out, size_is(,*pcProperties)] spoolss_PrintNamedProperty **ppProperties
874 WERROR winspool_AsyncLogJobInfoForBranchOffice(
875 [in] PRINTER_HANDLE hPrinter,
876 [in,ref] spoolss_BranchOfficeJobDataContainer *pBranchOfficeJobDataContainer