/******************/
/* Function: 0x00 */
- WERROR spoolss_EnumPrinters(
- [in] uint32 flags,
- [in] unistr *server,
- [in] uint32 level,
- [in,out] DATA_BLOB *buffer,
+ [noprint,nopull,nopush] WERROR spoolss_EnumPrinters(
+ [in] uint32 flags,
+ [in] unistr *server,
+ [in] uint32 level,
+ [in] DATA_BLOB *buffer,
+ /* [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info[count],*/
+ [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo **info,
[in,out,ref] uint32 *buf_size,
- [out] uint32 count
+ [out] uint32 count
);
/******************/
/* Function: 0x01 */
+ typedef struct {
+ uint32 foo;
+ } spoolss_Devmode;
+
+ typedef struct {
+ uint32 size;
+ spoolss_Devmode *devmode;
+ } spoolss_DevmodeContainer;
+
WERROR spoolss_OpenPrinter(
- [in] unistr *server,
- [in] unistr *printer,
- [in] DATA_BLOB *buffer,
- [in] uint32 access_mask,
- [out,ref] policy_handle *handle
+ [in] unistr *printername,
+ [in] unistr *datatype,
+ [in] spoolss_DevmodeContainer devmode_ctr,
+ [in] uint32 access_mask,
+ [out,ref] policy_handle *handle
);
/******************/
/******************/
/* Function: 0x04 */
- WERROR spoolss_EnumJobs(
+ [noprint,nopull,nopush] WERROR spoolss_EnumJobs(
[in,ref] policy_handle *handle,
[in] uint32 firstjob,
[in] uint32 numjobs,
[in] uint32 level,
- [in,out] DATA_BLOB *buffer,
+ [in] DATA_BLOB *buffer,
+ /* [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info[count],*/
+ [out,subcontext(4),switch_is(level)] spoolss_JobInfo **info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
/******************/
/* Function: 0x0a */
- WERROR spoolss_EnumPrinterDrivers(
+ [noprint,nopull,nopush] WERROR spoolss_EnumPrinterDrivers(
[in] unistr *server,
[in] unistr *environment,
[in] uint32 level,
- [in,out] DATA_BLOB *buffer,
+ [in] DATA_BLOB *buffer,
+ /* [out,subcontext(4),switch_is(level)] spoolss_DriverInfo *info[count],*/
+ [out,subcontext(4),switch_is(level)] spoolss_DriverInfo **info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
/******************/
/* Function: 0x22 */
- WERROR spoolss_EnumForms(
+ [noprint,nopull,nopush] WERROR spoolss_EnumForms(
[in,ref] policy_handle *handle,
[in] uint32 level,
- [in,out] DATA_BLOB *buffer,
+ [in] DATA_BLOB *buffer,
+ /* [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info[count],*/
+ [out,subcontext(4),switch_is(level)] spoolss_FormInfo **info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
[relative] nstring *port_name;
} spoolss_PortInfo1;
+ typedef bitmap {
+ SPOOLSS_PORT_TYPE_WRITE = 0x00000001,
+ SPOOLSS_PORT_TYPE_READ = 0x00000002,
+ SPOOLSS_PORT_TYPE_REDIRECTED = 0x00000004,
+ SPOOLSS_PORT_TYPE_NET_ATTACHED = 0x00000008
+ } spoolss_PortType;
+
typedef struct {
[relative] nstring *port_name;
[relative] nstring *monitor_name;
[relative] nstring *description;
- uint32 port_type;
+ spoolss_PortType port_type;
uint32 reserved;
} spoolss_PortInfo2;
/******************/
/* Function: 0x23 */
- WERROR spoolss_EnumPorts(
+ [noprint,nopull,nopush] WERROR spoolss_EnumPorts(
[in] unistr *servername,
[in] uint32 level,
- [in,out] DATA_BLOB *buffer,
+ [in] DATA_BLOB *buffer,
+ /* [out,subcontext(4),switch_is(level)] spoolss_PortInfo *info[count], */
+ [out,subcontext(4),switch_is(level)] spoolss_PortInfo **info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
WERROR spoolss_44(
);
- typedef struct {
- uint32 foo;
- } spoolss_Devmode;
-
- typedef struct {
- uint32 size;
- spoolss_Devmode *devmode;
- } spoolss_DevmodeContainer;
-
typedef struct {
uint32 size;
unistr *client;