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
)] 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