summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-winspool.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
commite4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch)
tree68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/packet-dcerpc-winspool.c
parentInitial commit. (diff)
downloadwireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz
wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/packet-dcerpc-winspool.c')
-rw-r--r--epan/dissectors/packet-dcerpc-winspool.c10050
1 files changed, 10050 insertions, 0 deletions
diff --git a/epan/dissectors/packet-dcerpc-winspool.c b/epan/dissectors/packet-dcerpc-winspool.c
new file mode 100644
index 0000000..53e7706
--- /dev/null
+++ b/epan/dissectors/packet-dcerpc-winspool.c
@@ -0,0 +1,10050 @@
+/* DO NOT EDIT
+ This file was automatically generated by Pidl
+ from winspool.idl and winspool.cnf.
+
+ Pidl is a perl based IDL compiler for DCE/RPC idl files.
+ It is maintained by the Samba team, not the Wireshark team.
+ Instructions on how to download and install Pidl can be
+ found at https://gitlab.com/wireshark/wireshark/-/wikis/Pidl
+*/
+
+
+#include "config.h"
+#include <glib.h>
+#include <string.h>
+#include <epan/packet.h>
+
+#include "packet-dcerpc.h"
+#include "packet-dcerpc-nt.h"
+#include "packet-windows-common.h"
+#include "packet-dcerpc-winspool.h"
+void proto_register_dcerpc_iremotewinspool(void);
+void proto_reg_handoff_dcerpc_iremotewinspool(void);
+
+/* Ett declarations */
+static gint ett_dcerpc_iremotewinspool = -1;
+static gint ett_iremotewinspool_winspool_NOTIFY_REPLY_CONTAINER = -1;
+static gint ett_iremotewinspool_winspool_NOTIFY_OPTIONS_CONTAINER = -1;
+static gint ett_iremotewinspool_winspool_PrintPropertyValueUnion = -1;
+static gint ett_iremotewinspool_winspool_PrintPropertyValue = -1;
+static gint ett_iremotewinspool_winspool_PrintNamedProperty = -1;
+static gint ett_iremotewinspool_winspool_PrintPropertiesCollection = -1;
+static gint ett_iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags = -1;
+static gint ett_iremotewinspool_winspool_UploadPrinterDriverPackageFlags = -1;
+
+
+/* Header field declarations */
+static gint hf_iremotewinspool_hresult = -1;
+static gint hf_iremotewinspool_opnum = -1;
+static gint hf_iremotewinspool_sec_desc_buf_len = -1;
+static gint hf_iremotewinspool_werror = -1;
+static gint hf_iremotewinspool_winspool_AsyncAbortPrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddForm_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddForm_pFormInfoContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddJob_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddJob_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddJob_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddJob_pAddJob = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddJob_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddMonitor_Name = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddMonitor_pMonitorContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrintServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrinterName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pProvider = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPort_pMonitorName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPort_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPort_pPortContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPort_pPortVarContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPathName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPrintProcessorName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinterDriver_dwFileCopyFlags = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinterDriver_pDriverContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinterDriver_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinter_pClientInfo = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinter_pDevModeContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinter_pHandle = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinter_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinter_pPrinterContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncAddPrinter_pSecurityContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncClosePrinter_phPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_CoreDriverGUID = -1;
+static gint hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_dwlDriverVersion = -1;
+static gint hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_ftDriverDate = -1;
+static gint hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled = -1;
+static gint hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncCreatePrinterIC_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncCreatePrinterIC_pDevModeContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncCreatePrinterIC_pHandle = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteForm_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteForm_pFormName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_JobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_pszName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteMonitor_Name = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteMonitor_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeleteMonitor_pMonitorName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pPrinterName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_Name = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pPrintProcessorName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pKeyName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterData_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterData_pValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_dwDeleteFlag = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_dwVersionNum = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pDriverName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszInfPath = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pDriverName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterIC_phPrinterIC = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterKey_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinterKey_pKeyName = -1;
+static gint hf_iremotewinspool_winspool_AsyncDeletePrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEndDocPrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEndPagePrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumForms_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumForms_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumForms_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumForms_pForm = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumForms_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumForms_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_JobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_pcProperties = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_ppProperties = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_FirstJob = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_NoJobs = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_pJob = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumJobs_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumMonitors_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumMonitors_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumMonitors_pMonitor = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumMonitors_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumMonitors_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumMonitors_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pPrinterEnum = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPorts_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPorts_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPorts_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPorts_pPort = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPorts_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPorts_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_cbEnumValues = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pEnumValues = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pKeyName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pcbEnumValues = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pnEnumValues = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_cbData = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_cbValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_dwIndex = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_pData = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_pType = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_pValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbData = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pDrivers = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterKey_cbSubkey = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterKey_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pKeyName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pSubkey = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pcbSubkey = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinters_Flags = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinters_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinters_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinters_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinters_pPrinterEnum = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinters_pcReturned = -1;
+static gint hf_iremotewinspool_winspool_AsyncEnumPrinters_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_cCorePrinterDrivers = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_cchCoreDrivers = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetForm_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetForm_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetForm_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetForm_pForm = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetForm_pFormName = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetForm_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_JobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_pValue = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_pszName = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJob_JobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJob_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJob_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJob_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJob_pJob = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetJob_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_nSize = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pData = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pKeyName = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pType = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterData_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterData_nSize = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterData_pData = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterData_pType = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterData_pValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterData_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_cchDriverPackageCab = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_dwClientMajorVersion = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_dwClientMinorVersion = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pDriver = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMinVersion = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinter_Level = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinter_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinter_pPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetPrinter_pcbNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_hRpcHandle = -1;
+static gint hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_ppNotifyData = -1;
+static gint hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_dwFlags = -1;
+static gint hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName = -1;
+static gint hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath = -1;
+static gint hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncLogJobInfoForBranchOffice_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncOpenPrinter_AccessRequired = -1;
+static gint hf_iremotewinspool_winspool_AsyncOpenPrinter_pClientInfo = -1;
+static gint hf_iremotewinspool_winspool_AsyncOpenPrinter_pDatatype = -1;
+static gint hf_iremotewinspool_winspool_AsyncOpenPrinter_pDevModeContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncOpenPrinter_pHandle = -1;
+static gint hf_iremotewinspool_winspool_AsyncOpenPrinter_pPrinterName = -1;
+static gint hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_cIn = -1;
+static gint hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_cOut = -1;
+static gint hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_hPrinterIC = -1;
+static gint hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn = -1;
+static gint hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut = -1;
+static gint hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_ul = -1;
+static gint hf_iremotewinspool_winspool_AsyncReadPrinter_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncReadPrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncReadPrinter_pBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncReadPrinter_pcNoBytesRead = -1;
+static gint hf_iremotewinspool_winspool_AsyncResetPrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncResetPrinter_pDatatype = -1;
+static gint hf_iremotewinspool_winspool_AsyncResetPrinter_pDevModeContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncScheduleJob_JobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncScheduleJob_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSendRecvBidiData_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSendRecvBidiData_pAction = -1;
+static gint hf_iremotewinspool_winspool_AsyncSendRecvBidiData_pReqData = -1;
+static gint hf_iremotewinspool_winspool_AsyncSendRecvBidiData_ppRespData = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetForm_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetForm_pFormInfoContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetForm_pFormName = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_JobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_pProperty = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetJob_Command = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetJob_JobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetJob_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetJob_pJobContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPort_pName = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPort_pPortContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPort_pPortName = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_Type = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_cbData = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pData = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pKeyName = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterData_Type = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterData_cbData = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterData_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterData_pData = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinterData_pValueName = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinter_Command = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinter_pDevModeContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinter_pPrinterContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncSetPrinter_pSecurityContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncStartDocPrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncStartDocPrinter_pDocInfoContainer = -1;
+static gint hf_iremotewinspool_winspool_AsyncStartDocPrinter_pJobId = -1;
+static gint hf_iremotewinspool_winspool_AsyncStartPagePrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_dwFlags = -1;
+static gint hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath = -1;
+static gint hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath = -1;
+static gint hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment = -1;
+static gint hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszInfPath = -1;
+static gint hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszServer = -1;
+static gint hf_iremotewinspool_winspool_AsyncWritePrinter_cbBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncWritePrinter_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_AsyncWritePrinter_pBuf = -1;
+static gint hf_iremotewinspool_winspool_AsyncWritePrinter_pcWritten = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_cbInputData = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_cbOutputData = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_hXcv = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_pInputData = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_pOutputData = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_pcbOutputNeeded = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_pdwStatus = -1;
+static gint hf_iremotewinspool_winspool_AsyncXcvData_pszDataName = -1;
+static gint hf_iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags_IPDFP_COPY_ALL_FILES = -1;
+static gint hf_iremotewinspool_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions = -1;
+static gint hf_iremotewinspool_winspool_NOTIFY_REPLY_CONTAINER_pInfo = -1;
+static gint hf_iremotewinspool_winspool_PrintNamedProperty_propertyName = -1;
+static gint hf_iremotewinspool_winspool_PrintNamedProperty_propertyValue = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertiesCollection_numberOfProperties = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertiesCollection_propertiesCollection = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyByte = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyDevModeContainer = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyInt32 = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyInt64 = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyOptionsContainer = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyReplyContainer = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertySDContainer = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyString = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyTimeContainer = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValue_PropertyType = -1;
+static gint hf_iremotewinspool_winspool_PrintPropertyValue_value = -1;
+static gint hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_hRpcHandle = -1;
+static gint hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_pNotifyFilter = -1;
+static gint hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_ppNotifyData = -1;
+static gint hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_hPrinter = -1;
+static gint hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter = -1;
+static gint hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_phRpcHandle = -1;
+static gint hf_iremotewinspool_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle = -1;
+static gint hf_iremotewinspool_winspool_UploadPrinterDriverPackageFlags_UPDP_CHECK_DRIVERSTORE = -1;
+static gint hf_iremotewinspool_winspool_UploadPrinterDriverPackageFlags_UPDP_UPLOAD_ALWAYS = -1;
+
+static gint proto_dcerpc_iremotewinspool = -1;
+/* Version information */
+
+
+static e_guid_t uuid_dcerpc_iremotewinspool = {
+ 0x76f03f96, 0xcdfd, 0x44fc,
+ { 0xa2, 0x2c, 0x64, 0x95, 0x0a, 0x00, 0x12, 0x09 }
+};
+static guint16 ver_dcerpc_iremotewinspool = 1;
+
+static int iremotewinspool_dissect_element_winspool_NOTIFY_REPLY_CONTAINER_pInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_NOTIFY_REPLY_CONTAINER_pInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+const value_string iremotewinspool_winspool_PrintPropertyType_vals[] = {
+ { winspool_PropertyTypeString, "winspool_PropertyTypeString" },
+ { winspool_PropertyTypeInt32, "winspool_PropertyTypeInt32" },
+ { winspool_PropertyTypeInt64, "winspool_PropertyTypeInt64" },
+ { winspool_PropertyTypeByte, "winspool_PropertyTypeByte" },
+ { winspool_PropertyTypeTime, "winspool_PropertyTypeTime" },
+ { winspool_PropertyTypeDevMode, "winspool_PropertyTypeDevMode" },
+ { winspool_PropertyTypeSD, "winspool_PropertyTypeSD" },
+ { winspool_PropertyTypeNotificationReply, "winspool_PropertyTypeNotificationReply" },
+ { winspool_PropertyTypeNotificationOptions, "winspool_PropertyTypeNotificationOptions" },
+{ 0, NULL }
+};
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyString_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyInt32(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyInt64(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyByte(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyTimeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertySDContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyReplyContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyOptionsContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValue_PropertyType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint1632 *PropertyType);
+static int iremotewinspool_dissect_element_winspool_PrintPropertyValue_value(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint1632 *PropertyType);
+static int iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_numberOfProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static const true_false_string winspool_InstallPrinterDriverFromPackageFlags_IPDFP_COPY_ALL_FILES_tfs = {
+ "IPDFP_COPY_ALL_FILES is SET",
+ "IPDFP_COPY_ALL_FILES is NOT SET",
+};
+static const true_false_string winspool_UploadPrinterDriverPackageFlags_UPDP_UPLOAD_ALWAYS_tfs = {
+ "UPDP_UPLOAD_ALWAYS is SET",
+ "UPDP_UPLOAD_ALWAYS is NOT SET",
+};
+static const true_false_string winspool_UploadPrinterDriverPackageFlags_UPDP_CHECK_DRIVERSTORE_tfs = {
+ "UPDP_CHECK_DRIVERSTORE is SET",
+ "UPDP_CHECK_DRIVERSTORE is NOT SET",
+};
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pPrinterName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pPrinterName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDatatype(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDatatype_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_AccessRequired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pClientInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pPrinterContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pPrinterContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pSecurityContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pSecurityContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pClientInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJob_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJob_pJobContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJob_pJobContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJob_Command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJob_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_FirstJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_NoJobs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddJob_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncScheduleJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncScheduleJob_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pPrinterContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pPrinterContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pSecurityContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pSecurityContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinter_Command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pDocInfoContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pDocInfoContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pJobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pJobId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncStartPagePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncWritePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncWritePrinter_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pcWritten(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pcWritten_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEndPagePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEndDocPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAbortPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pType_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_nSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pType_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_nSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_Type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_cbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_Type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_cbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncClosePrinter_phPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncClosePrinter_phPrinter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddForm_pFormInfoContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddForm_pFormInfoContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteForm_pFormName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteForm_pFormName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_pFormName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_pFormName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetForm_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormInfoContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormInfoContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_dwClientMajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_dwClientMinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMinVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMinVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_dwIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_cbValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pType_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_cbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_cbEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pcbEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pcbEnumValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pnEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pnEnumValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_cbSubkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pcbSubkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pcbSubkey_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_hXcv(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pszDataName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pszDataName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_cbInputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_cbOutputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pcbOutputNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pcbOutputNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pdwStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncXcvData_pdwStatus_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pAction_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pReqData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pReqData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_hPrinterIC(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_cIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_cOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_ul(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterIC_phPrinterIC(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterIC_phPrinterIC_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pDriverContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pDriverContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_dwFileCopyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pDriverName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pDriverName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pDriverName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pDriverName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_dwDeleteFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_dwVersionNum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPathName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPathName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPrintProcessorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPrintProcessorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortVarContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortVarContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pMonitorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPort_pMonitorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPort_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPort_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddMonitor_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddMonitor_Name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddMonitor_pMonitorContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddMonitor_pMonitorContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_Name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pMonitorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pMonitorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_Name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pPrintProcessorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pPrintProcessorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrinterName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrinterName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrintServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrintServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pProvider(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pProvider_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pPrinterName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pPrinterName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_phRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_phRpcHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_hRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_pNotifyFilter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_pNotifyFilter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_hRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_dwFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_dwFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_cchCoreDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_cCorePrinterDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_CoreDriverGUID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_ftDriverDate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_dwlDriverVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_cchDriverPackageCab(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncReadPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncReadPrinter_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pcNoBytesRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pcNoBytesRead_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncResetPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDatatype(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDatatype_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pszName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pszName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pValue_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_pProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_pProperty_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_pszName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_pszName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_pcProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_pcProperties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+static int iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
+ #include "packet-smb.h"
+ #include "packet-smb-browse.h"
+extern struct access_mask_info spoolss_printer_access_mask_info;
+static int
+iremotewinspool_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep)
+{
+ guint32 len;
+ if(di->conformant_run){
+ /*just a run to handle conformant arrays, nothing to dissect */
+ return offset;
+ }
+ offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
+ hf_iremotewinspool_sec_desc_buf_len, &len);
+ dissect_nt_sec_desc(
+ tvb, offset, pinfo, tree, drep, TRUE, len,
+ &spoolss_printer_access_mask_info);
+ offset += len;
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [unique(1)] spoolss_NotifyInfo *pInfo; */
+/* IDL: } */
+
+static int
+iremotewinspool_dissect_element_winspool_NOTIFY_REPLY_CONTAINER_pInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_NOTIFY_REPLY_CONTAINER_pInfo_, NDR_POINTER_UNIQUE, "Pointer to PInfo (spoolss_NotifyInfo)",hf_iremotewinspool_winspool_NOTIFY_REPLY_CONTAINER_pInfo);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_NOTIFY_REPLY_CONTAINER_pInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_NOTIFY_INFO(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+int
+iremotewinspool_dissect_struct_winspool_NOTIFY_REPLY_CONTAINER(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_iremotewinspool_winspool_NOTIFY_REPLY_CONTAINER);
+ }
+
+ offset = iremotewinspool_dissect_element_winspool_NOTIFY_REPLY_CONTAINER_pInfo(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [unique(1)] spoolss_NotifyOption *pOptions; */
+/* IDL: } */
+
+static int
+iremotewinspool_dissect_element_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions_, NDR_POINTER_UNIQUE, "Pointer to POptions (spoolss_NotifyOption)",hf_iremotewinspool_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_NOTIFY_OPTIONS_ARRAY_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+int
+iremotewinspool_dissect_struct_winspool_NOTIFY_OPTIONS_CONTAINER(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_iremotewinspool_winspool_NOTIFY_OPTIONS_CONTAINER);
+ }
+
+ offset = iremotewinspool_dissect_element_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: enum { */
+/* IDL: winspool_PropertyTypeString=1, */
+/* IDL: winspool_PropertyTypeInt32=2, */
+/* IDL: winspool_PropertyTypeInt64=3, */
+/* IDL: winspool_PropertyTypeByte=4, */
+/* IDL: winspool_PropertyTypeTime=5, */
+/* IDL: winspool_PropertyTypeDevMode=6, */
+/* IDL: winspool_PropertyTypeSD=7, */
+/* IDL: winspool_PropertyTypeNotificationReply=8, */
+/* IDL: winspool_PropertyTypeNotificationOptions=9, */
+/* IDL: } */
+
+int
+iremotewinspool_dissect_enum_winspool_PrintPropertyType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
+{
+ guint1632 parameter=0;
+ if (param) {
+ parameter = *param;
+ }
+ offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
+ if (param) {
+ *param = parameter;
+ }
+ return offset;
+}
+
+
+/* IDL: [ms_union(1)] [switch_type(winspool_PrintPropertyType)] union { */
+/* IDL: [case(winspool_PropertyTypeString)] [case(winspool_PropertyTypeString)] [charset(UTF16)] [unique(1)] uint16 *propertyString; */
+/* IDL: [case(winspool_PropertyTypeInt32)] [case(winspool_PropertyTypeInt32)] uint32 propertyInt32; */
+/* IDL: [case(winspool_PropertyTypeInt64)] [case(winspool_PropertyTypeInt64)] hyper propertyInt64; */
+/* IDL: [case(winspool_PropertyTypeByte)] [case(winspool_PropertyTypeByte)] uint8 propertyByte; */
+/* IDL: [case(winspool_PropertyTypeTime)] [case(winspool_PropertyTypeTime)] spoolss_TimeCtr propertyTimeContainer; */
+/* IDL: [case(winspool_PropertyTypeDevMode)] [case(winspool_PropertyTypeDevMode)] spoolss_DevmodeContainer propertyDevModeContainer; */
+/* IDL: [case(winspool_PropertyTypeSD)] [case(winspool_PropertyTypeSD)] sec_desc_buf propertySDContainer; */
+/* IDL: [case(winspool_PropertyTypeNotificationReply)] [case(winspool_PropertyTypeNotificationReply)] winspool_NOTIFY_REPLY_CONTAINER propertyReplyContainer; */
+/* IDL: [case(winspool_PropertyTypeNotificationOptions)] [case(winspool_PropertyTypeNotificationOptions)] winspool_NOTIFY_OPTIONS_CONTAINER propertyOptionsContainer; */
+/* IDL: } */
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyString_, NDR_POINTER_UNIQUE, "Pointer to PropertyString (uint16)",hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyString);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyString_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyString, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyInt32(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyInt32, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyInt64(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyInt64, NULL);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyByte(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyByte, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyTimeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_DEVMODE_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertySDContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyReplyContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_NOTIFY_REPLY_CONTAINER(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyReplyContainer,0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyOptionsContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_NOTIFY_OPTIONS_CONTAINER(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyOptionsContainer,0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_PrintPropertyValueUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ guint1632 level;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_iremotewinspool_winspool_PrintPropertyValueUnion, &item, "winspool_PrintPropertyValueUnion");
+ }
+
+ offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
+ ALIGN_TO_8_BYTES;
+
+ switch(level) {
+ case winspool_PropertyTypeString:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyString(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeInt32:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyInt32(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeInt64:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyInt64(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeByte:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyByte(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeTime:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyTimeContainer(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeDevMode:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyDevModeContainer(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeSD:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertySDContainer(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeNotificationReply:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyReplyContainer(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ case winspool_PropertyTypeNotificationOptions:
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValueUnion_propertyOptionsContainer(tvb, offset, pinfo, tree, di, drep);
+ break;
+ }
+ proto_item_set_len(item, offset-old_offset);
+
+
+ return offset;
+}
+
+/* IDL: struct { */
+/* IDL: winspool_PrintPropertyType PropertyType; */
+/* IDL: [switch_is(PropertyType)] winspool_PrintPropertyValueUnion value; */
+/* IDL: } */
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValue_PropertyType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint1632 *PropertyType)
+{
+ offset = iremotewinspool_dissect_enum_winspool_PrintPropertyType(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_PrintPropertyValue_PropertyType, PropertyType);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertyValue_value(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint1632 *PropertyType)
+{
+ offset = iremotewinspool_dissect_winspool_PrintPropertyValueUnion(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_PrintPropertyValue_value, *PropertyType);
+
+ return offset;
+}
+
+int
+iremotewinspool_dissect_struct_winspool_PrintPropertyValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ guint1632 PropertyType = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_8_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_iremotewinspool_winspool_PrintPropertyValue);
+ }
+
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValue_PropertyType(tvb, offset, pinfo, tree, di, drep, &PropertyType);
+
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertyValue_value(tvb, offset, pinfo, tree, di, drep, &PropertyType);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_8_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [charset(UTF16)] [unique(1)] uint16 *propertyName; */
+/* IDL: winspool_PrintPropertyValue propertyValue; */
+/* IDL: } */
+
+static int
+iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyName_, NDR_POINTER_UNIQUE, "Pointer to PropertyName (uint16)",hf_iremotewinspool_winspool_PrintNamedProperty_propertyName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_PrintNamedProperty_propertyName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_PrintPropertyValue(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_PrintNamedProperty_propertyValue,0);
+
+ return offset;
+}
+
+int
+iremotewinspool_dissect_struct_winspool_PrintNamedProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_8_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_iremotewinspool_winspool_PrintNamedProperty);
+ }
+
+ offset = iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyName(tvb, offset, pinfo, tree, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_PrintNamedProperty_propertyValue(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_8_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: [range(0,50)] uint32 numberOfProperties; */
+/* IDL: [size_is(numberOfProperties)] [unique(1)] winspool_PrintNamedProperty *propertiesCollection; */
+/* IDL: } */
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_numberOfProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_PrintPropertiesCollection_numberOfProperties, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection_, NDR_POINTER_UNIQUE, "Pointer to PropertiesCollection (winspool_PrintNamedProperty)",hf_iremotewinspool_winspool_PrintPropertiesCollection_propertiesCollection);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_PrintNamedProperty(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_PrintPropertiesCollection_propertiesCollection,0);
+
+ return offset;
+}
+
+int
+iremotewinspool_dissect_struct_winspool_PrintPropertiesCollection(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_iremotewinspool_winspool_PrintPropertiesCollection);
+ }
+
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_numberOfProperties(tvb, offset, pinfo, tree, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_PrintPropertiesCollection_propertiesCollection(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: IPDFP_FLAG_NONE = 0x00000000 , */
+/* IDL: IPDFP_COPY_ALL_FILES = 0x00000001 , */
+/* IDL: } */
+
+int
+iremotewinspool_dissect_bitmap_winspool_InstallPrinterDriverFromPackageFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags_fields[] = {
+ &hf_iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags_IPDFP_COPY_ALL_FILES,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags, iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000001)) {
+ flags &= (~0x00000001);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+
+/* IDL: bitmap { */
+/* IDL: UPDP_FLAG_NONE = 0x00000000 , */
+/* IDL: UPDP_UPLOAD_ALWAYS = 0x00000002 , */
+/* IDL: UPDP_CHECK_DRIVERSTORE = 0x00000004 , */
+/* IDL: } */
+
+int
+iremotewinspool_dissect_bitmap_winspool_UploadPrinterDriverPackageFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
+{
+ proto_item *item;
+ static int * const iremotewinspool_winspool_UploadPrinterDriverPackageFlags_fields[] = {
+ &hf_iremotewinspool_winspool_UploadPrinterDriverPackageFlags_UPDP_UPLOAD_ALWAYS,
+ &hf_iremotewinspool_winspool_UploadPrinterDriverPackageFlags_UPDP_CHECK_DRIVERSTORE,
+ NULL
+ };
+ guint32 flags;
+ ALIGN_TO_4_BYTES;
+
+ item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
+ ett_iremotewinspool_winspool_UploadPrinterDriverPackageFlags, iremotewinspool_winspool_UploadPrinterDriverPackageFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
+
+ if (!flags)
+ proto_item_append_text(item, ": (No values set)");
+
+ if (flags & (~0x00000006)) {
+ flags &= (~0x00000006);
+ proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
+ }
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pPrinterName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pPrinterName_, NDR_POINTER_UNIQUE, "Pointer to PPrinterName (uint16)",hf_iremotewinspool_winspool_AsyncOpenPrinter_pPrinterName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pPrinterName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncOpenPrinter_pPrinterName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pHandle_, NDR_POINTER_REF, "Pointer to PHandle (policy_handle)",hf_iremotewinspool_winspool_AsyncOpenPrinter_pHandle);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncOpenPrinter_pHandle, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDatatype(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDatatype_, NDR_POINTER_UNIQUE, "Pointer to PDatatype (uint16)",hf_iremotewinspool_winspool_AsyncOpenPrinter_pDatatype);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDatatype_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncOpenPrinter_pDatatype, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDevModeContainer_, NDR_POINTER_REF, "Pointer to PDevModeContainer (spoolss_DevmodeContainer)",hf_iremotewinspool_winspool_AsyncOpenPrinter_pDevModeContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_DEVMODE_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_AccessRequired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncOpenPrinter_AccessRequired, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pClientInfo_, NDR_POINTER_REF, "Pointer to PClientInfo (spoolss_UserLevelCtr)",hf_iremotewinspool_winspool_AsyncOpenPrinter_pClientInfo);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pClientInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_USER_LEVEL_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncOpenPrinter( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pPrinterName, */
+/* IDL: [out] [ref] policy_handle *pHandle, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pDatatype, */
+/* IDL: [in] [ref] spoolss_DevmodeContainer *pDevModeContainer, */
+/* IDL: [in] uint32 AccessRequired, */
+/* IDL: [in] [ref] spoolss_UserLevelCtr *pClientInfo */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncOpenPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncOpenPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncOpenPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncOpenPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pPrinterName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDatatype(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pDevModeContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_AccessRequired(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncOpenPrinter_pClientInfo(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncAddPrinter_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPrinter_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pPrinterContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pPrinterContainer_, NDR_POINTER_REF, "Pointer to PPrinterContainer (spoolss_SetPrinterInfoCtr)",hf_iremotewinspool_winspool_AsyncAddPrinter_pPrinterContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pPrinterContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_SPOOL_PRINTER_INFO(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pDevModeContainer_, NDR_POINTER_REF, "Pointer to PDevModeContainer (spoolss_DevmodeContainer)",hf_iremotewinspool_winspool_AsyncAddPrinter_pDevModeContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_DEVMODE_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pSecurityContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pSecurityContainer_, NDR_POINTER_REF, "Pointer to PSecurityContainer (sec_desc_buf)",hf_iremotewinspool_winspool_AsyncAddPrinter_pSecurityContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pSecurityContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pClientInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pClientInfo_, NDR_POINTER_REF, "Pointer to PClientInfo (spoolss_UserLevelCtr)",hf_iremotewinspool_winspool_AsyncAddPrinter_pClientInfo);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pClientInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_USER_LEVEL_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pHandle_, NDR_POINTER_REF, "Pointer to PHandle (policy_handle)",hf_iremotewinspool_winspool_AsyncAddPrinter_pHandle);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddPrinter_pHandle, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddPrinter( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [in] [ref] spoolss_SetPrinterInfoCtr *pPrinterContainer, */
+/* IDL: [in] [ref] spoolss_DevmodeContainer *pDevModeContainer, */
+/* IDL: [in] [ref] sec_desc_buf *pSecurityContainer, */
+/* IDL: [in] [ref] spoolss_UserLevelCtr *pClientInfo, */
+/* IDL: [out] [ref] policy_handle *pHandle */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pPrinterContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pDevModeContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pSecurityContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinter_pClientInfo(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetJob_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJob_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetJob_JobId, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJob_pJobContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetJob_pJobContainer_, NDR_POINTER_UNIQUE, "Pointer to PJobContainer (spoolss_JobInfoContainer)",hf_iremotewinspool_winspool_AsyncSetJob_pJobContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJob_pJobContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJob_Command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetJob_Command, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSetJob( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 JobId, */
+/* IDL: [in] [unique(1)] spoolss_JobInfoContainer *pJobContainer, */
+/* IDL: [in] uint32 Command */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetJob_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSetJob";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetJob_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSetJob";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetJob_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetJob_JobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetJob_pJobContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetJob_Command(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJob_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJob_JobId, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJob_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob_, NDR_POINTER_UNIQUE, "Pointer to PJob (uint8)",hf_iremotewinspool_winspool_AsyncGetJob_pJob);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJob_pJob, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJob_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetJob_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetJob_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJob_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJob_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetJob( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 JobId, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pJob, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetJob_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetJob";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJob_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetJob_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetJob";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJob_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJob_JobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJob_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJob_pJob(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJob_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_FirstJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_FirstJob, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_NoJobs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_NoJobs, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob_, NDR_POINTER_UNIQUE, "Pointer to PJob (uint8)",hf_iremotewinspool_winspool_AsyncEnumJobs_pJob);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_pJob, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumJobs_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumJobs_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobs_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumJobs( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 FirstJob, */
+/* IDL: [in] uint32 NoJobs, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pJob, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumJobs_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumJobs";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumJobs_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumJobs";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_FirstJob(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_NoJobs(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_pJob(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobs_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddJob_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddJob_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob_, NDR_POINTER_UNIQUE, "Pointer to PAddJob (uint8)",hf_iremotewinspool_winspool_AsyncAddJob_pAddJob);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddJob_pAddJob, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddJob_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddJob_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncAddJob_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddJob_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddJob_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddJob( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pAddJob, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddJob_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddJob";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddJob_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddJob_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddJob";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddJob_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddJob_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddJob_pAddJob(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddJob_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncScheduleJob_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncScheduleJob_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncScheduleJob_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncScheduleJob_JobId, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncScheduleJob( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 JobId */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncScheduleJob_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncScheduleJob";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncScheduleJob_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncScheduleJob";
+ offset = iremotewinspool_dissect_element_winspool_AsyncScheduleJob_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncScheduleJob_JobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeletePrinter_hPrinter, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrinter( */
+/* IDL: [in] policy_handle hPrinter */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinter";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinter_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pPrinterContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pPrinterContainer_, NDR_POINTER_REF, "Pointer to PPrinterContainer (spoolss_SetPrinterInfoCtr)",hf_iremotewinspool_winspool_AsyncSetPrinter_pPrinterContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pPrinterContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_SPOOL_PRINTER_INFO(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pDevModeContainer_, NDR_POINTER_REF, "Pointer to PDevModeContainer (spoolss_DevmodeContainer)",hf_iremotewinspool_winspool_AsyncSetPrinter_pDevModeContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_DEVMODE_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pSecurityContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pSecurityContainer_, NDR_POINTER_REF, "Pointer to PSecurityContainer (sec_desc_buf)",hf_iremotewinspool_winspool_AsyncSetPrinter_pSecurityContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pSecurityContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinter_Command(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinter_Command, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSetPrinter( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] [ref] spoolss_SetPrinterInfoCtr *pPrinterContainer, */
+/* IDL: [in] [ref] spoolss_DevmodeContainer *pDevModeContainer, */
+/* IDL: [in] [ref] sec_desc_buf *pSecurityContainer, */
+/* IDL: [in] uint32 Command */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSetPrinter";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSetPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pPrinterContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pDevModeContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinter_pSecurityContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinter_Command(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinter_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinter_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter_, NDR_POINTER_UNIQUE, "Pointer to PPrinter (uint8)",hf_iremotewinspool_winspool_AsyncGetPrinter_pPrinter);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinter_pPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinter_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinter_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinter_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetPrinter( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pPrinter, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinter_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinter_pPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinter_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncStartDocPrinter_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pDocInfoContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pDocInfoContainer_, NDR_POINTER_REF, "Pointer to PDocInfoContainer (spoolss_DocumentInfoCtr)",hf_iremotewinspool_winspool_AsyncStartDocPrinter_pDocInfoContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pDocInfoContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_spoolss_doc_info_ctr(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pJobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pJobId_, NDR_POINTER_REF, "Pointer to PJobId (uint32)",hf_iremotewinspool_winspool_AsyncStartDocPrinter_pJobId);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pJobId_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncStartDocPrinter_pJobId, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncStartDocPrinter( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] [ref] spoolss_DocumentInfoCtr *pDocInfoContainer, */
+/* IDL: [out] [ref] uint32 *pJobId */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncStartDocPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncStartDocPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pJobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncStartDocPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncStartDocPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncStartDocPrinter_pDocInfoContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncStartPagePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncStartPagePrinter_hPrinter, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncStartPagePrinter( */
+/* IDL: [in] policy_handle hPrinter */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncStartPagePrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncStartPagePrinter";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncStartPagePrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncStartPagePrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncStartPagePrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncWritePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncWritePrinter_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf_, NDR_POINTER_REF, "Pointer to PBuf (uint8)",hf_iremotewinspool_winspool_AsyncWritePrinter_pBuf);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncWritePrinter_pBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncWritePrinter_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncWritePrinter_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pcWritten(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pcWritten_, NDR_POINTER_REF, "Pointer to PcWritten (uint32)",hf_iremotewinspool_winspool_AsyncWritePrinter_pcWritten);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pcWritten_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncWritePrinter_pcWritten, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncWritePrinter( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] [ref] [size_is(cbBuf)] uint8 *pBuf, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcWritten */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncWritePrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncWritePrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pcWritten(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncWritePrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncWritePrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncWritePrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncWritePrinter_pBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncWritePrinter_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEndPagePrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEndPagePrinter_hPrinter, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEndPagePrinter( */
+/* IDL: [in] policy_handle hPrinter */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEndPagePrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEndPagePrinter";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEndPagePrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEndPagePrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEndPagePrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEndDocPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEndDocPrinter_hPrinter, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEndDocPrinter( */
+/* IDL: [in] policy_handle hPrinter */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEndDocPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEndDocPrinter";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEndDocPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEndDocPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEndDocPrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAbortPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAbortPrinter_hPrinter, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAbortPrinter( */
+/* IDL: [in] policy_handle hPrinter */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAbortPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAbortPrinter";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAbortPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAbortPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAbortPrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterData_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pValueName_, NDR_POINTER_REF, "Pointer to PValueName (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterData_pValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterData_pValueName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pType_, NDR_POINTER_REF, "Pointer to PType (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterData_pType);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pType_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterData_pType, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData_, NDR_POINTER_REF, "Pointer to PData (uint8)",hf_iremotewinspool_winspool_AsyncGetPrinterData_pData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterData_pData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_nSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterData_nSize, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterData_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterData_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetPrinterData( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pValueName, */
+/* IDL: [out] [ref] uint32 *pType, */
+/* IDL: [out] [ref] [size_is(nSize)] uint8 *pData, */
+/* IDL: [in] uint32 nSize, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pType(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_pValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterData_nSize(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pKeyName_, NDR_POINTER_REF, "Pointer to PKeyName (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pKeyName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pKeyName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pValueName_, NDR_POINTER_REF, "Pointer to PValueName (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pValueName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pType_, NDR_POINTER_REF, "Pointer to PType (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pType);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pType_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pType, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData_, NDR_POINTER_REF, "Pointer to PData (uint8)",hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_nSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_nSize, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetPrinterDataEx( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pKeyName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pValueName, */
+/* IDL: [out] [ref] uint32 *pType, */
+/* IDL: [out] [ref] [size_is(nSize)] uint8 *pData, */
+/* IDL: [in] uint32 nSize, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDataEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDataEx";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pType(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDataEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDataEx";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pKeyName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_pValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDataEx_nSize(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterData_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pValueName_, NDR_POINTER_REF, "Pointer to PValueName (uint16)",hf_iremotewinspool_winspool_AsyncSetPrinterData_pValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncSetPrinterData_pValueName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_Type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterData_Type, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData_, NDR_POINTER_REF, "Pointer to PData (uint8)",hf_iremotewinspool_winspool_AsyncSetPrinterData_pData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterData_pData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_cbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterData_cbData, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSetPrinterData( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pValueName, */
+/* IDL: [in] uint32 Type, */
+/* IDL: [in] [ref] [size_is(cbData)] uint8 *pData, */
+/* IDL: [in] uint32 cbData */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPrinterData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSetPrinterData";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPrinterData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSetPrinterData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_Type(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_pData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterData_cbData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pKeyName_, NDR_POINTER_REF, "Pointer to PKeyName (uint16)",hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pKeyName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pKeyName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pValueName_, NDR_POINTER_REF, "Pointer to PValueName (uint16)",hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pValueName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_Type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_Type, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData_, NDR_POINTER_REF, "Pointer to PData (uint8)",hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_cbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_cbData, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSetPrinterDataEx( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pKeyName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pValueName, */
+/* IDL: [in] uint32 Type, */
+/* IDL: [in] [ref] [size_is(cbData)] uint8 *pData, */
+/* IDL: [in] uint32 cbData */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPrinterDataEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSetPrinterDataEx";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPrinterDataEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSetPrinterDataEx";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pKeyName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_Type(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_pData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPrinterDataEx_cbData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncClosePrinter_phPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncClosePrinter_phPrinter_, NDR_POINTER_REF, "Pointer to PhPrinter (policy_handle)",hf_iremotewinspool_winspool_AsyncClosePrinter_phPrinter);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncClosePrinter_phPrinter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncClosePrinter_phPrinter, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncClosePrinter( */
+/* IDL: [in] [out] [ref] policy_handle *phPrinter */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncClosePrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncClosePrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncClosePrinter_phPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncClosePrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncClosePrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncClosePrinter_phPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddForm_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddForm_pFormInfoContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddForm_pFormInfoContainer_, NDR_POINTER_REF, "Pointer to PFormInfoContainer (spoolss_AddFormInfoCtr)",hf_iremotewinspool_winspool_AsyncAddForm_pFormInfoContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddForm_pFormInfoContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_FORM_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddForm( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] [ref] spoolss_AddFormInfoCtr *pFormInfoContainer */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddForm_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddForm";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddForm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddForm";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddForm_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddForm_pFormInfoContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeleteForm_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteForm_pFormName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeleteForm_pFormName_, NDR_POINTER_REF, "Pointer to PFormName (uint16)",hf_iremotewinspool_winspool_AsyncDeleteForm_pFormName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteForm_pFormName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeleteForm_pFormName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeleteForm( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pFormName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeleteForm_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeleteForm";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeleteForm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeleteForm";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteForm_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteForm_pFormName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetForm_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_pFormName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetForm_pFormName_, NDR_POINTER_REF, "Pointer to PFormName (uint16)",hf_iremotewinspool_winspool_AsyncGetForm_pFormName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_pFormName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetForm_pFormName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetForm_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm_, NDR_POINTER_UNIQUE, "Pointer to PForm (uint8)",hf_iremotewinspool_winspool_AsyncGetForm_pForm);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetForm_pForm, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetForm_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetForm_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetForm_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetForm_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetForm_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetForm( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pFormName, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pForm, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetForm_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetForm";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetForm_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetForm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetForm";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetForm_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetForm_pFormName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetForm_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetForm_pForm(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetForm_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetForm_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetForm_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormName_, NDR_POINTER_REF, "Pointer to PFormName (uint16)",hf_iremotewinspool_winspool_AsyncSetForm_pFormName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncSetForm_pFormName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormInfoContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormInfoContainer_, NDR_POINTER_REF, "Pointer to PFormInfoContainer (spoolss_AddFormInfoCtr)",hf_iremotewinspool_winspool_AsyncSetForm_pFormInfoContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormInfoContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_FORM_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSetForm( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pFormName, */
+/* IDL: [in] [ref] spoolss_AddFormInfoCtr *pFormInfoContainer */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetForm_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSetForm";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetForm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSetForm";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetForm_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetForm_pFormInfoContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumForms_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumForms_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm_, NDR_POINTER_UNIQUE, "Pointer to PForm (uint8)",hf_iremotewinspool_winspool_AsyncEnumForms_pForm);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumForms_pForm, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumForms_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumForms_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumForms_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumForms_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumForms_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumForms( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pForm, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumForms_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumForms";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumForms_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumForms_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumForms";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumForms_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumForms_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumForms_pForm(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumForms_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pEnvironment_, NDR_POINTER_UNIQUE, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver_, NDR_POINTER_UNIQUE, "Pointer to PDriver (uint8)",hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pDriver);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pDriver, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_dwClientMajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_dwClientMajorVersion, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_dwClientMinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_dwClientMinorVersion, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion_, NDR_POINTER_REF, "Pointer to PdwServerMaxVersion (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMinVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMinVersion_, NDR_POINTER_REF, "Pointer to PdwServerMinVersion (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMinVersion);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMinVersion_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMinVersion, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetPrinterDriver( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pEnvironment, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pDriver, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [in] uint32 dwClientMajorVersion, */
+/* IDL: [in] uint32 dwClientMinorVersion, */
+/* IDL: [out] [ref] uint32 *pdwServerMaxVersion, */
+/* IDL: [out] [ref] uint32 *pdwServerMinVersion */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDriver_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDriver";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pdwServerMinVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDriver_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDriver";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_pDriver(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_dwClientMajorVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriver_dwClientMinorVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_dwIndex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_dwIndex, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName_, NDR_POINTER_REF, "Pointer to PValueName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrinterData_pValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_pValueName, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_cbValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_cbValueName, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbValueName_, NDR_POINTER_REF, "Pointer to PcbValueName (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbValueName, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pType_, NDR_POINTER_REF, "Pointer to PType (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterData_pType);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pType_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_pType, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData_, NDR_POINTER_REF, "Pointer to PData (uint8)",hf_iremotewinspool_winspool_AsyncEnumPrinterData_pData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_pData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_cbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_cbData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbData_, NDR_POINTER_REF, "Pointer to PcbData (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbData, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPrinterData( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 dwIndex, */
+/* IDL: [out] [ref] [size_is(cbValueName/2)] uint16 *pValueName, */
+/* IDL: [in] uint32 cbValueName, */
+/* IDL: [out] [ref] uint32 *pcbValueName, */
+/* IDL: [out] [ref] uint32 *pType, */
+/* IDL: [out] [ref] [size_is(cbData)] uint8 *pData, */
+/* IDL: [in] uint32 cbData, */
+/* IDL: [out] [ref] uint32 *pcbData */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pType(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_pcbData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_dwIndex(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_cbValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterData_cbData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pKeyName_, NDR_POINTER_REF, "Pointer to PKeyName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pKeyName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pKeyName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues_, NDR_POINTER_REF, "Pointer to PEnumValues (uint8)",hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pEnumValues);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pEnumValues, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_cbEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_cbEnumValues, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pcbEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pcbEnumValues_, NDR_POINTER_REF, "Pointer to PcbEnumValues (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pcbEnumValues);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pcbEnumValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pcbEnumValues, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pnEnumValues(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pnEnumValues_, NDR_POINTER_REF, "Pointer to PnEnumValues (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pnEnumValues);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pnEnumValues_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pnEnumValues, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPrinterDataEx( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pKeyName, */
+/* IDL: [out] [ref] [size_is(cbEnumValues)] uint8 *pEnumValues, */
+/* IDL: [in] uint32 cbEnumValues, */
+/* IDL: [out] [ref] uint32 *pcbEnumValues, */
+/* IDL: [out] [ref] uint32 *pnEnumValues */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterDataEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterDataEx";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pEnumValues(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pcbEnumValues(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pnEnumValues(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterDataEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterDataEx";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_pKeyName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDataEx_cbEnumValues(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterKey_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pKeyName_, NDR_POINTER_REF, "Pointer to PKeyName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pKeyName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pKeyName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey_, NDR_POINTER_REF, "Pointer to PSubkey (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pSubkey);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pSubkey, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_cbSubkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterKey_cbSubkey, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pcbSubkey(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pcbSubkey_, NDR_POINTER_REF, "Pointer to PcbSubkey (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pcbSubkey);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pcbSubkey_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pcbSubkey, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPrinterKey( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pKeyName, */
+/* IDL: [out] [ref] [size_is(cbSubkey/2)] uint16 *pSubkey, */
+/* IDL: [in] uint32 cbSubkey, */
+/* IDL: [out] [ref] uint32 *pcbSubkey */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterKey_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterKey";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pSubkey(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pcbSubkey(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterKey_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterKey";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_pKeyName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterKey_cbSubkey(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeletePrinterData_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_pValueName_, NDR_POINTER_REF, "Pointer to PValueName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterData_pValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterData_pValueName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrinterData( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pValueName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterData";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterData_pValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pKeyName_, NDR_POINTER_REF, "Pointer to PKeyName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pKeyName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pKeyName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pValueName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pValueName_, NDR_POINTER_REF, "Pointer to PValueName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pValueName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pValueName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pValueName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrinterDataEx( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pKeyName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pValueName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDataEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDataEx";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDataEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDataEx";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pKeyName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDataEx_pValueName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeletePrinterKey_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_pKeyName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_pKeyName_, NDR_POINTER_REF, "Pointer to PKeyName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterKey_pKeyName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_pKeyName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterKey_pKeyName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrinterKey( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pKeyName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterKey_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterKey";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterKey_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterKey";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterKey_pKeyName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_hXcv(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncXcvData_hXcv, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pszDataName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncXcvData_pszDataName_, NDR_POINTER_REF, "Pointer to PszDataName (uint16)",hf_iremotewinspool_winspool_AsyncXcvData_pszDataName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pszDataName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncXcvData_pszDataName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData_, NDR_POINTER_REF, "Pointer to PInputData (uint8)",hf_iremotewinspool_winspool_AsyncXcvData_pInputData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncXcvData_pInputData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_cbInputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncXcvData_cbInputData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData_, NDR_POINTER_REF, "Pointer to POutputData (uint8)",hf_iremotewinspool_winspool_AsyncXcvData_pOutputData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncXcvData_pOutputData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_cbOutputData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncXcvData_cbOutputData, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pcbOutputNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncXcvData_pcbOutputNeeded_, NDR_POINTER_REF, "Pointer to PcbOutputNeeded (uint32)",hf_iremotewinspool_winspool_AsyncXcvData_pcbOutputNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pcbOutputNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncXcvData_pcbOutputNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pdwStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncXcvData_pdwStatus_, NDR_POINTER_REF, "Pointer to PdwStatus (uint32)",hf_iremotewinspool_winspool_AsyncXcvData_pdwStatus);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncXcvData_pdwStatus_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncXcvData_pdwStatus, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncXcvData( */
+/* IDL: [in] policy_handle hXcv, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszDataName, */
+/* IDL: [in] [ref] [size_is(cbInputData)] uint8 *pInputData, */
+/* IDL: [in] uint32 cbInputData, */
+/* IDL: [out] [ref] [size_is(cbOutputData)] uint8 *pOutputData, */
+/* IDL: [in] uint32 cbOutputData, */
+/* IDL: [out] [ref] uint32 *pcbOutputNeeded, */
+/* IDL: [in] [out] [ref] uint32 *pdwStatus */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncXcvData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncXcvData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_pOutputData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_pcbOutputNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_pdwStatus(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncXcvData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncXcvData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_hXcv(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_pszDataName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_pInputData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_cbInputData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_cbOutputData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncXcvData_pdwStatus(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSendRecvBidiData_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pAction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pAction_, NDR_POINTER_UNIQUE, "Pointer to PAction (uint16)",hf_iremotewinspool_winspool_AsyncSendRecvBidiData_pAction);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pAction_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncSendRecvBidiData_pAction, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pReqData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pReqData_, NDR_POINTER_REF, "Pointer to PReqData (RPC_BIDI_REQUEST_CONTAINER)",hf_iremotewinspool_winspool_AsyncSendRecvBidiData_pReqData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pReqData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData_, NDR_POINTER_REF, "Pointer to PpRespData (RPC_BIDI_RESPONSE_CONTAINER)",hf_iremotewinspool_winspool_AsyncSendRecvBidiData_ppRespData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData__, NDR_POINTER_UNIQUE, "Pointer to PpRespData (RPC_BIDI_RESPONSE_CONTAINER)",hf_iremotewinspool_winspool_AsyncSendRecvBidiData_ppRespData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSendRecvBidiData( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pAction, */
+/* IDL: [in] [ref] RPC_BIDI_REQUEST_CONTAINER *pReqData, */
+/* IDL: [out] [ref] RPC_BIDI_RESPONSE_CONTAINER **ppRespData */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSendRecvBidiData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSendRecvBidiData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_ppRespData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSendRecvBidiData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSendRecvBidiData";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pAction(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSendRecvBidiData_pReqData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncCreatePrinterIC_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pHandle_, NDR_POINTER_REF, "Pointer to PHandle (policy_handle)",hf_iremotewinspool_winspool_AsyncCreatePrinterIC_pHandle);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncCreatePrinterIC_pHandle, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pDevModeContainer_, NDR_POINTER_REF, "Pointer to PDevModeContainer (spoolss_DevmodeContainer)",hf_iremotewinspool_winspool_AsyncCreatePrinterIC_pDevModeContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_DEVMODE_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncCreatePrinterIC( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [out] [ref] policy_handle *pHandle, */
+/* IDL: [in] [ref] spoolss_DevmodeContainer *pDevModeContainer */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncCreatePrinterIC_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncCreatePrinterIC";
+ offset = iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncCreatePrinterIC_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncCreatePrinterIC";
+ offset = iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncCreatePrinterIC_pDevModeContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_hPrinterIC(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_hPrinterIC, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn_, NDR_POINTER_REF, "Pointer to PIn (uint8)",hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_cIn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_cIn, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut_, NDR_POINTER_REF, "Pointer to POut (uint8)",hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_cOut(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_cOut, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_ul(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_ul, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncPlayGdiScriptOnPrinterIC( */
+/* IDL: [in] policy_handle hPrinterIC, */
+/* IDL: [in] [ref] [size_is(cIn)] uint8 *pIn, */
+/* IDL: [in] uint32 cIn, */
+/* IDL: [out] [ref] [size_is(cOut)] uint8 *pOut, */
+/* IDL: [in] uint32 cOut, */
+/* IDL: [in] uint32 ul */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncPlayGdiScriptOnPrinterIC_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncPlayGdiScriptOnPrinterIC";
+ offset = iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncPlayGdiScriptOnPrinterIC_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncPlayGdiScriptOnPrinterIC";
+ offset = iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_hPrinterIC(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_cIn(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_cOut(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncPlayGdiScriptOnPrinterIC_ul(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterIC_phPrinterIC(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterIC_phPrinterIC_, NDR_POINTER_REF, "Pointer to PhPrinterIC (policy_handle)",hf_iremotewinspool_winspool_AsyncDeletePrinterIC_phPrinterIC);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterIC_phPrinterIC_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeletePrinterIC_phPrinterIC, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrinterIC( */
+/* IDL: [in] [out] [ref] policy_handle *phPrinterIC */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterIC_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterIC";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterIC_phPrinterIC(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterIC_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterIC";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterIC_phPrinterIC(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinters_Flags, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrinters_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrinters_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinters_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum_, NDR_POINTER_UNIQUE, "Pointer to PPrinterEnum (uint8)",hf_iremotewinspool_winspool_AsyncEnumPrinters_pPrinterEnum);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinters_pPrinterEnum, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinters_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinters_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinters_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinters_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinters_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPrinters( */
+/* IDL: [in] uint32 Flags, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pPrinterEnum, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinters_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinters";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinters_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinters";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_Flags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_pPrinterEnum(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinters_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncAddPrinterDriver_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPrinterDriver_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pDriverContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pDriverContainer_, NDR_POINTER_REF, "Pointer to PDriverContainer (spoolss_AddDriverInfoCtr)",hf_iremotewinspool_winspool_AsyncAddPrinterDriver_pDriverContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pDriverContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_dwFileCopyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncAddPrinterDriver_dwFileCopyFlags, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddPrinterDriver( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [in] [ref] spoolss_AddDriverInfoCtr *pDriverContainer, */
+/* IDL: [in] uint32 dwFileCopyFlags */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPrinterDriver_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddPrinterDriver";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPrinterDriver_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddPrinterDriver";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_pDriverContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrinterDriver_dwFileCopyFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pEnvironment_, NDR_POINTER_UNIQUE, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers_, NDR_POINTER_UNIQUE, "Pointer to PDrivers (uint8)",hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pDrivers);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pDrivers, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPrinterDrivers( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pEnvironment, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pDrivers, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterDrivers_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterDrivers";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrinterDrivers_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrinterDrivers";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_pDrivers(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrinterDrivers_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pEnvironment_, NDR_POINTER_UNIQUE, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory_, NDR_POINTER_UNIQUE, "Pointer to PDriverDirectory (uint8)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetPrinterDriverDirectory( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pEnvironment, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pDriverDirectory, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDriverDirectory_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDriverDirectory";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDriverDirectory_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDriverDirectory";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverDirectory_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pEnvironment_, NDR_POINTER_REF, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pDriverName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pDriverName_, NDR_POINTER_REF, "Pointer to PDriverName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pDriverName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pDriverName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pDriverName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrinterDriver( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pEnvironment, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pDriverName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDriver_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDriver";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDriver_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDriver";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriver_pDriverName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pEnvironment_, NDR_POINTER_REF, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pDriverName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pDriverName_, NDR_POINTER_REF, "Pointer to PDriverName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pDriverName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pDriverName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pDriverName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_dwDeleteFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_dwDeleteFlag, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_dwVersionNum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_dwVersionNum, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrinterDriverEx( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pEnvironment, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pDriverName, */
+/* IDL: [in] uint32 dwDeleteFlag, */
+/* IDL: [in] uint32 dwVersionNum */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDriverEx";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDriverEx";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_pDriverName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_dwDeleteFlag(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverEx_dwVersionNum(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pEnvironment_, NDR_POINTER_REF, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPathName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPathName_, NDR_POINTER_REF, "Pointer to PPathName (uint16)",hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPathName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPathName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPathName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPrintProcessorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPrintProcessorName_, NDR_POINTER_REF, "Pointer to PPrintProcessorName (uint16)",hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPrintProcessorName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPrintProcessorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPrintProcessorName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddPrintProcessor( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pEnvironment, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pPathName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pPrintProcessorName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPrintProcessor_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddPrintProcessor";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPrintProcessor_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddPrintProcessor";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPathName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPrintProcessor_pPrintProcessorName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pEnvironment_, NDR_POINTER_UNIQUE, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo_, NDR_POINTER_UNIQUE, "Pointer to PPrintProcessorInfo (uint8)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPrintProcessors( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pEnvironment, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pPrintProcessorInfo, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrintProcessors_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrintProcessors";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrintProcessors_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrintProcessors";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessors_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pEnvironment_, NDR_POINTER_UNIQUE, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory_, NDR_POINTER_UNIQUE, "Pointer to PPrintProcessorDirectory (uint8)",hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetPrintProcessorDirectory( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pEnvironment, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pPrintProcessorDirectory, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrintProcessorDirectory_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetPrintProcessorDirectory";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrintProcessorDirectory_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetPrintProcessorDirectory";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrintProcessorDirectory_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPorts_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPorts_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPorts_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort_, NDR_POINTER_UNIQUE, "Pointer to PPort (uint8)",hf_iremotewinspool_winspool_AsyncEnumPorts_pPort);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPorts_pPort, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPorts_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumPorts_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPorts_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumPorts_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPorts_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPorts( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pPort, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPorts_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPorts";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPorts_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPorts";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPorts_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPorts_pPort(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPorts_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncEnumMonitors_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumMonitors_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumMonitors_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor_, NDR_POINTER_UNIQUE, "Pointer to PMonitor (uint8)",hf_iremotewinspool_winspool_AsyncEnumMonitors_pMonitor);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumMonitors_pMonitor, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumMonitors_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumMonitors_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumMonitors_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumMonitors_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumMonitors_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumMonitors( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pMonitor, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumMonitors_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumMonitors";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumMonitors_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumMonitors";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_pMonitor(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumMonitors_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPort_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncAddPort_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPort_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortContainer_, NDR_POINTER_REF, "Pointer to PPortContainer (spoolss_SetPortInfoContainer)",hf_iremotewinspool_winspool_AsyncAddPort_pPortContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortVarContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortVarContainer_, NDR_POINTER_REF, "Pointer to PPortVarContainer (spoolss_PortVarContainer)",hf_iremotewinspool_winspool_AsyncAddPort_pPortVarContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortVarContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pMonitorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPort_pMonitorName_, NDR_POINTER_REF, "Pointer to PMonitorName (uint16)",hf_iremotewinspool_winspool_AsyncAddPort_pMonitorName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPort_pMonitorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPort_pMonitorName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddPort( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [in] [ref] spoolss_SetPortInfoContainer *pPortContainer, */
+/* IDL: [in] [ref] spoolss_PortVarContainer *pPortVarContainer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pMonitorName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPort_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddPort";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPort_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddPort";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPort_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPort_pPortVarContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPort_pMonitorName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPort_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPort_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncSetPort_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPort_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncSetPort_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortName_, NDR_POINTER_UNIQUE, "Pointer to PPortName (uint16)",hf_iremotewinspool_winspool_AsyncSetPort_pPortName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncSetPort_pPortName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortContainer_, NDR_POINTER_REF, "Pointer to PPortContainer (spoolss_SetPortInfoContainer)",hf_iremotewinspool_winspool_AsyncSetPort_pPortContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSetPort( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pPortName, */
+/* IDL: [in] [ref] spoolss_SetPortInfoContainer *pPortContainer */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPort_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSetPort";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetPort_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSetPort";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPort_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetPort_pPortContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddMonitor_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddMonitor_Name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_iremotewinspool_winspool_AsyncAddMonitor_Name);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddMonitor_Name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddMonitor_Name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddMonitor_pMonitorContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddMonitor_pMonitorContainer_, NDR_POINTER_REF, "Pointer to PMonitorContainer (spoolss_MonitorContainer)",hf_iremotewinspool_winspool_AsyncAddMonitor_pMonitorContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddMonitor_pMonitorContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddMonitor( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *Name, */
+/* IDL: [in] [ref] spoolss_MonitorContainer *pMonitorContainer */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddMonitor_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddMonitor";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddMonitor_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddMonitor";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddMonitor_Name(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddMonitor_pMonitorContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_Name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_iremotewinspool_winspool_AsyncDeleteMonitor_Name);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_Name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeleteMonitor_Name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pEnvironment_, NDR_POINTER_UNIQUE, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncDeleteMonitor_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeleteMonitor_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pMonitorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pMonitorName_, NDR_POINTER_REF, "Pointer to PMonitorName (uint16)",hf_iremotewinspool_winspool_AsyncDeleteMonitor_pMonitorName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pMonitorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeleteMonitor_pMonitorName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeleteMonitor( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *Name, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pEnvironment, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pMonitorName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeleteMonitor_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeleteMonitor";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeleteMonitor_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeleteMonitor";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_Name(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteMonitor_pMonitorName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_Name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_Name);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_Name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_Name, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pEnvironment_, NDR_POINTER_UNIQUE, "Pointer to PEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pPrintProcessorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pPrintProcessorName_, NDR_POINTER_REF, "Pointer to PPrintProcessorName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pPrintProcessorName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pPrintProcessorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pPrintProcessorName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePrintProcessor( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *Name, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pEnvironment, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pPrintProcessorName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrintProcessor_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrintProcessor";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrintProcessor_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrintProcessor";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_Name(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrintProcessor_pPrintProcessorName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pName_, NDR_POINTER_UNIQUE, "Pointer to PName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName_, NDR_POINTER_UNIQUE, "Pointer to PPrintProcessorName (uint16)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_Level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_Level, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes_, NDR_POINTER_UNIQUE, "Pointer to PDatatypes (uint8)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPrintProcessorDatatypes( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pName, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pPrintProcessorName, */
+/* IDL: [in] uint32 Level, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pDatatypes, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrintProcessorDatatypes_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrintProcessorDatatypes";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPrintProcessorDatatypes_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPrintProcessorDatatypes";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_Level(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPrintProcessorDatatypes_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pServer_, NDR_POINTER_UNIQUE, "Pointer to PServer (uint16)",hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrinterName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrinterName_, NDR_POINTER_REF, "Pointer to PPrinterName (uint16)",hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrinterName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrinterName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrinterName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrintServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrintServer_, NDR_POINTER_REF, "Pointer to PPrintServer (uint16)",hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrintServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrintServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrintServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pProvider(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pProvider_, NDR_POINTER_REF, "Pointer to PProvider (uint16)",hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pProvider);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pProvider_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pProvider, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncAddPerMachineConnection( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pPrinterName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pPrintServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pProvider */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPerMachineConnection_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncAddPerMachineConnection";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncAddPerMachineConnection_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncAddPerMachineConnection";
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrinterName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pPrintServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncAddPerMachineConnection_pProvider(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pServer_, NDR_POINTER_UNIQUE, "Pointer to PServer (uint16)",hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pPrinterName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pPrinterName_, NDR_POINTER_REF, "Pointer to PPrinterName (uint16)",hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pPrinterName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pPrinterName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pPrinterName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeletePerMachineConnection( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pPrinterName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePerMachineConnection_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePerMachineConnection";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePerMachineConnection_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePerMachineConnection";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePerMachineConnection_pPrinterName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pServer_, NDR_POINTER_UNIQUE, "Pointer to PServer (uint16)",hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum_, NDR_POINTER_UNIQUE, "Pointer to PPrinterEnum (uint8)",hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pPrinterEnum);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pPrinterEnum, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcbNeeded(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcbNeeded_, NDR_POINTER_REF, "Pointer to PcbNeeded (uint32)",hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcbNeeded);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcbNeeded_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcbNeeded, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcReturned(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcReturned_, NDR_POINTER_REF, "Pointer to PcReturned (uint32)",hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcReturned);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcReturned_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcReturned, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumPerMachineConnections( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pServer, */
+/* IDL: [in] [out] [size_is(cbBuf)] [unique(1)] uint8 *pPrinterEnum, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcbNeeded, */
+/* IDL: [out] [ref] uint32 *pcReturned */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPerMachineConnections_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumPerMachineConnections";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcbNeeded(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pcReturned(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumPerMachineConnections_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumPerMachineConnections";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_pPrinterEnum(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumPerMachineConnections_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter_, NDR_POINTER_REF, "Pointer to PNotifyFilter (winspool_PrintPropertiesCollection)",hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_PrintPropertiesCollection(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter,0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_phRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_phRpcHandle_, NDR_POINTER_REF, "Pointer to PhRpcHandle (policy_handle)",hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_phRpcHandle);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_phRpcHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_phRpcHandle, 0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_SyncRegisterForRemoteNotifications( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] [ref] winspool_PrintPropertiesCollection *pNotifyFilter, */
+/* IDL: [out] [ref] policy_handle *phRpcHandle */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_SyncRegisterForRemoteNotifications_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_SyncRegisterForRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_phRpcHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_SyncRegisterForRemoteNotifications_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_SyncRegisterForRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle_, NDR_POINTER_REF, "Pointer to PhRpcHandle (policy_handle)",hf_iremotewinspool_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle, 0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_SyncUnRegisterForRemoteNotifications( */
+/* IDL: [in] [out] [ref] policy_handle *phRpcHandle */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_SyncUnRegisterForRemoteNotifications_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_SyncUnRegisterForRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_SyncUnRegisterForRemoteNotifications_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_SyncUnRegisterForRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_hRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_hRpcHandle, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_pNotifyFilter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_pNotifyFilter_, NDR_POINTER_REF, "Pointer to PNotifyFilter (winspool_PrintPropertiesCollection)",hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_pNotifyFilter);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_pNotifyFilter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_PrintPropertiesCollection(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_pNotifyFilter,0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData_, NDR_POINTER_REF, "Pointer to PpNotifyData (winspool_PrintPropertiesCollection)",hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_ppNotifyData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData__, NDR_POINTER_UNIQUE, "Pointer to PpNotifyData (winspool_PrintPropertiesCollection)",hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_ppNotifyData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_PrintPropertiesCollection(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_ppNotifyData,0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_SyncRefreshRemoteNotifications( */
+/* IDL: [in] policy_handle hRpcHandle, */
+/* IDL: [in] [ref] winspool_PrintPropertiesCollection *pNotifyFilter, */
+/* IDL: [out] [ref] winspool_PrintPropertiesCollection **ppNotifyData */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_SyncRefreshRemoteNotifications_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_SyncRefreshRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_ppNotifyData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_SyncRefreshRemoteNotifications_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_SyncRefreshRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_hRpcHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_SyncRefreshRemoteNotifications_pNotifyFilter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_hRpcHandle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_hRpcHandle, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData_, NDR_POINTER_REF, "Pointer to PpNotifyData (winspool_PrintPropertiesCollection)",hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_ppNotifyData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData__, NDR_POINTER_UNIQUE, "Pointer to PpNotifyData (winspool_PrintPropertiesCollection)",hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_ppNotifyData);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_struct_winspool_PrintPropertiesCollection(tvb,offset,pinfo,tree,di,drep,hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_ppNotifyData,0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_AsyncGetRemoteNotifications( */
+/* IDL: [in] policy_handle hRpcHandle, */
+/* IDL: [out] [ref] winspool_PrintPropertiesCollection **ppNotifyData */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetRemoteNotifications_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_ppNotifyData(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetRemoteNotifications_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetRemoteNotifications";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetRemoteNotifications_hRpcHandle(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszServer_, NDR_POINTER_UNIQUE, "Pointer to PszServer (uint16)",hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath_, NDR_POINTER_UNIQUE, "Pointer to PszInfPath (uint16)",hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName_, NDR_POINTER_REF, "Pointer to PszDriverName (uint16)",hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment_, NDR_POINTER_REF, "Pointer to PszEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_dwFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_bitmap_winspool_InstallPrinterDriverFromPackageFlags(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_dwFlags, 0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_AsyncInstallPrinterDriverFromPackage( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszServer, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszInfPath, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszDriverName, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszEnvironment, */
+/* IDL: [in] winspool_InstallPrinterDriverFromPackageFlags dwFlags */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncInstallPrinterDriverFromPackage_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncInstallPrinterDriverFromPackage";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncInstallPrinterDriverFromPackage_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncInstallPrinterDriverFromPackage";
+ offset = iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncInstallPrinterDriverFromPackage_dwFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszServer_, NDR_POINTER_UNIQUE, "Pointer to PszServer (uint16)",hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszInfPath_, NDR_POINTER_REF, "Pointer to PszInfPath (uint16)",hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszInfPath);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszInfPath, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment_, NDR_POINTER_REF, "Pointer to PszEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_dwFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = iremotewinspool_dissect_bitmap_winspool_UploadPrinterDriverPackageFlags(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_dwFlags, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath_, NDR_POINTER_UNIQUE, "Pointer to PszDestInfPath (uint16)",hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath_, NDR_POINTER_REF, "Pointer to PcchDestInfPath (uint32)",hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath, 0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_AsyncUploadPrinterDriverPackage( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszInfPath, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszEnvironment, */
+/* IDL: [in] winspool_UploadPrinterDriverPackageFlags dwFlags, */
+/* IDL: [charset(UTF16)] [in] [out] [size_is(*pcchDestInfPath)] [unique(1)] uint16 *pszDestInfPath, */
+/* IDL: [in] [out] [ref] uint32 *pcchDestInfPath */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncUploadPrinterDriverPackage_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncUploadPrinterDriverPackage";
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncUploadPrinterDriverPackage_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncUploadPrinterDriverPackage";
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszInfPath(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_dwFlags(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszServer_, NDR_POINTER_UNIQUE, "Pointer to PszServer (uint16)",hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszEnvironment_, NDR_POINTER_REF, "Pointer to PszEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_cchCoreDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_cchCoreDrivers, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies_, NDR_POINTER_REF, "Pointer to PszzCoreDriverDependencies (uint16)",hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_cCorePrinterDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_cCorePrinterDrivers, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers_, NDR_POINTER_REF, "Pointer to PCorePrinterDrivers (spoolss_CorePrinterDriver)",hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_AsyncGetCorePrinterDrivers( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszEnvironment, */
+/* IDL: [in] uint32 cchCoreDrivers, */
+/* IDL: [in] [ref] [size_is(cchCoreDrivers)] uint16 *pszzCoreDriverDependencies, */
+/* IDL: [in] uint32 cCorePrinterDrivers, */
+/* IDL: [out] [ref] [size_is(cCorePrinterDrivers)] spoolss_CorePrinterDriver *pCorePrinterDrivers */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetCorePrinterDrivers_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetCorePrinterDrivers";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetCorePrinterDrivers_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetCorePrinterDrivers";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_cchCoreDrivers(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetCorePrinterDrivers_cCorePrinterDrivers(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszServer_, NDR_POINTER_UNIQUE, "Pointer to PszServer (uint16)",hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment_, NDR_POINTER_REF, "Pointer to PszEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_CoreDriverGUID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_CoreDriverGUID, NULL);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_ftDriverDate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_ftDriverDate);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_dwlDriverVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_dwlDriverVersion, NULL);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled_, NDR_POINTER_REF, "Pointer to PbDriverInstalled (int32)",hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled, 0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_AsyncCorePrinterDriverInstalled( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszEnvironment, */
+/* IDL: [in] GUID CoreDriverGUID, */
+/* IDL: [in] NTTIME ftDriverDate, */
+/* IDL: [in] hyper dwlDriverVersion, */
+/* IDL: [out] [ref] int32 *pbDriverInstalled */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncCorePrinterDriverInstalled_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncCorePrinterDriverInstalled";
+ offset = iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncCorePrinterDriverInstalled_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncCorePrinterDriverInstalled";
+ offset = iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_CoreDriverGUID(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_ftDriverDate(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncCorePrinterDriverInstalled_dwlDriverVersion(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszServer_, NDR_POINTER_UNIQUE, "Pointer to PszServer (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment_, NDR_POINTER_REF, "Pointer to PszEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage_, NDR_POINTER_UNIQUE, "Pointer to PszLanguage (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID_, NDR_POINTER_REF, "Pointer to PszPackageID (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab_, NDR_POINTER_UNIQUE, "Pointer to PszDriverPackageCab (uint16)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_cchDriverPackageCab(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_cchDriverPackageCab, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize_, NDR_POINTER_REF, "Pointer to PcchRequiredSize (uint32)",hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize, 0);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_AsyncGetPrinterDriverPackagePath( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszEnvironment, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszLanguage, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszPackageID, */
+/* IDL: [in] [out] [size_is(cchDriverPackageCab)] [unique(1)] uint16 *pszDriverPackageCab, */
+/* IDL: [in] uint32 cchDriverPackageCab, */
+/* IDL: [out] [ref] uint32 *pcchRequiredSize */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDriverPackagePath_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDriverPackagePath";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetPrinterDriverPackagePath_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetPrinterDriverPackagePath";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetPrinterDriverPackagePath_cchDriverPackageCab(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszServer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszServer_, NDR_POINTER_UNIQUE, "Pointer to PszServer (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszServer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszServer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszServer, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszInfPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszInfPath_, NDR_POINTER_REF, "Pointer to PszInfPath (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszInfPath);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszInfPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszInfPath, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment_, NDR_POINTER_REF, "Pointer to PszEnvironment (uint16)",hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: HRESULT winspool_AsyncDeletePrinterDriverPackage( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pszServer, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszInfPath, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszEnvironment */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverPackage_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDriverPackage";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_hresult, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, HRES_errors, "Unknown HRES error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverPackage_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeletePrinterDriverPackage";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszServer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszInfPath(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncReadPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncReadPrinter_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf_, NDR_POINTER_REF, "Pointer to PBuf (uint8)",hf_iremotewinspool_winspool_AsyncReadPrinter_pBuf);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf__);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncReadPrinter_pBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncReadPrinter_cbBuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncReadPrinter_cbBuf, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pcNoBytesRead(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pcNoBytesRead_, NDR_POINTER_REF, "Pointer to PcNoBytesRead (uint32)",hf_iremotewinspool_winspool_AsyncReadPrinter_pcNoBytesRead);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pcNoBytesRead_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncReadPrinter_pcNoBytesRead, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncReadPrinter( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [out] [ref] [size_is(cbBuf)] uint8 *pBuf, */
+/* IDL: [in] uint32 cbBuf, */
+/* IDL: [out] [ref] uint32 *pcNoBytesRead */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncReadPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncReadPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncReadPrinter_pcNoBytesRead(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncReadPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncReadPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncReadPrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncReadPrinter_cbBuf(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncResetPrinter_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncResetPrinter_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDatatype(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDatatype_, NDR_POINTER_UNIQUE, "Pointer to PDatatype (uint16)",hf_iremotewinspool_winspool_AsyncResetPrinter_pDatatype);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDatatype_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncResetPrinter_pDatatype, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDevModeContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDevModeContainer_, NDR_POINTER_REF, "Pointer to PDevModeContainer (spoolss_DevmodeContainer)",hf_iremotewinspool_winspool_AsyncResetPrinter_pDevModeContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDevModeContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_DEVMODE_CTR(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncResetPrinter( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *pDatatype, */
+/* IDL: [in] [ref] spoolss_DevmodeContainer *pDevModeContainer */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncResetPrinter_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncResetPrinter";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncResetPrinter_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncResetPrinter";
+ offset = iremotewinspool_dissect_element_winspool_AsyncResetPrinter_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDatatype(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncResetPrinter_pDevModeContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_JobId, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pszName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pszName_, NDR_POINTER_REF, "Pointer to PszName (uint16)",hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_pszName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pszName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_pszName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pValue(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pValue_, NDR_POINTER_REF, "Pointer to PValue (spoolss_PrintPropertyValue)",hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_pValue);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pValue_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncGetJobNamedPropertyValue( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 JobId, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszName, */
+/* IDL: [out] [ref] spoolss_PrintPropertyValue *pValue */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetJobNamedPropertyValue_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncGetJobNamedPropertyValue";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pValue(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncGetJobNamedPropertyValue_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncGetJobNamedPropertyValue";
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_JobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncGetJobNamedPropertyValue_pszName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_JobId, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_pProperty(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_pProperty_, NDR_POINTER_REF, "Pointer to PProperty (spoolss_PrintNamedProperty)",hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_pProperty);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_pProperty_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncSetJobNamedProperty( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 JobId, */
+/* IDL: [in] [ref] spoolss_PrintNamedProperty *pProperty */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetJobNamedProperty_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncSetJobNamedProperty";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncSetJobNamedProperty_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncSetJobNamedProperty";
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_JobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncSetJobNamedProperty_pProperty(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_JobId, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_pszName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_pszName_, NDR_POINTER_REF, "Pointer to PszName (uint16)",hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_pszName);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_pszName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_pszName, FALSE, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncDeleteJobNamedProperty( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 JobId, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *pszName */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeleteJobNamedProperty_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncDeleteJobNamedProperty";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncDeleteJobNamedProperty_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncDeleteJobNamedProperty";
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_JobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncDeleteJobNamedProperty_pszName(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_JobId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_JobId, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_pcProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_pcProperties_, NDR_POINTER_REF, "Pointer to PcProperties (uint32)",hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_pcProperties);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_pcProperties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_pcProperties, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties_, NDR_POINTER_REF, "Pointer to PpProperties (spoolss_PrintNamedProperty)",hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_ppProperties);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties__, NDR_POINTER_UNIQUE, "Pointer to PpProperties (spoolss_PrintNamedProperty)",hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_ppProperties);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties___);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncEnumJobNamedProperties( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] uint32 JobId, */
+/* IDL: [out] [ref] uint32 *pcProperties, */
+/* IDL: [out] [ref] [size_is(,*pcProperties)] spoolss_PrintNamedProperty **ppProperties */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumJobNamedProperties_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncEnumJobNamedProperties";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_pcProperties(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_ppProperties(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncEnumJobNamedProperties_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncEnumJobNamedProperties";
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncEnumJobNamedProperties_JobId(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_hPrinter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_winspool_AsyncLogJobInfoForBranchOffice_hPrinter, 0);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer_, NDR_POINTER_REF, "Pointer to PBranchOfficeJobDataContainer (spoolss_BranchOfficeJobDataContainer)",hf_iremotewinspool_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer);
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ offset = dissect_ndr_byte_array(tvb, offset, pinfo, tree, di, drep);
+
+ return offset;
+}
+
+/* IDL: WERROR winspool_AsyncLogJobInfoForBranchOffice( */
+/* IDL: [in] policy_handle hPrinter, */
+/* IDL: [in] [ref] spoolss_BranchOfficeJobDataContainer *pBranchOfficeJobDataContainer */
+/* IDL: ); */
+
+static int
+iremotewinspool_dissect_winspool_AsyncLogJobInfoForBranchOffice_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ guint32 status;
+
+ di->dcerpc_procedure_name="winspool_AsyncLogJobInfoForBranchOffice";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_iremotewinspool_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+iremotewinspool_dissect_winspool_AsyncLogJobInfoForBranchOffice_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+{
+ di->dcerpc_procedure_name="winspool_AsyncLogJobInfoForBranchOffice";
+ offset = iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_hPrinter(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = iremotewinspool_dissect_element_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+
+static dcerpc_sub_dissector iremotewinspool_dissectors[] = {
+ { 0, "winspool_AsyncOpenPrinter",
+ iremotewinspool_dissect_winspool_AsyncOpenPrinter_request, iremotewinspool_dissect_winspool_AsyncOpenPrinter_response},
+ { 1, "winspool_AsyncAddPrinter",
+ iremotewinspool_dissect_winspool_AsyncAddPrinter_request, iremotewinspool_dissect_winspool_AsyncAddPrinter_response},
+ { 2, "winspool_AsyncSetJob",
+ iremotewinspool_dissect_winspool_AsyncSetJob_request, iremotewinspool_dissect_winspool_AsyncSetJob_response},
+ { 3, "winspool_AsyncGetJob",
+ iremotewinspool_dissect_winspool_AsyncGetJob_request, iremotewinspool_dissect_winspool_AsyncGetJob_response},
+ { 4, "winspool_AsyncEnumJobs",
+ iremotewinspool_dissect_winspool_AsyncEnumJobs_request, iremotewinspool_dissect_winspool_AsyncEnumJobs_response},
+ { 5, "winspool_AsyncAddJob",
+ iremotewinspool_dissect_winspool_AsyncAddJob_request, iremotewinspool_dissect_winspool_AsyncAddJob_response},
+ { 6, "winspool_AsyncScheduleJob",
+ iremotewinspool_dissect_winspool_AsyncScheduleJob_request, iremotewinspool_dissect_winspool_AsyncScheduleJob_response},
+ { 7, "winspool_AsyncDeletePrinter",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinter_request, iremotewinspool_dissect_winspool_AsyncDeletePrinter_response},
+ { 8, "winspool_AsyncSetPrinter",
+ iremotewinspool_dissect_winspool_AsyncSetPrinter_request, iremotewinspool_dissect_winspool_AsyncSetPrinter_response},
+ { 9, "winspool_AsyncGetPrinter",
+ iremotewinspool_dissect_winspool_AsyncGetPrinter_request, iremotewinspool_dissect_winspool_AsyncGetPrinter_response},
+ { 10, "winspool_AsyncStartDocPrinter",
+ iremotewinspool_dissect_winspool_AsyncStartDocPrinter_request, iremotewinspool_dissect_winspool_AsyncStartDocPrinter_response},
+ { 11, "winspool_AsyncStartPagePrinter",
+ iremotewinspool_dissect_winspool_AsyncStartPagePrinter_request, iremotewinspool_dissect_winspool_AsyncStartPagePrinter_response},
+ { 12, "winspool_AsyncWritePrinter",
+ iremotewinspool_dissect_winspool_AsyncWritePrinter_request, iremotewinspool_dissect_winspool_AsyncWritePrinter_response},
+ { 13, "winspool_AsyncEndPagePrinter",
+ iremotewinspool_dissect_winspool_AsyncEndPagePrinter_request, iremotewinspool_dissect_winspool_AsyncEndPagePrinter_response},
+ { 14, "winspool_AsyncEndDocPrinter",
+ iremotewinspool_dissect_winspool_AsyncEndDocPrinter_request, iremotewinspool_dissect_winspool_AsyncEndDocPrinter_response},
+ { 15, "winspool_AsyncAbortPrinter",
+ iremotewinspool_dissect_winspool_AsyncAbortPrinter_request, iremotewinspool_dissect_winspool_AsyncAbortPrinter_response},
+ { 16, "winspool_AsyncGetPrinterData",
+ iremotewinspool_dissect_winspool_AsyncGetPrinterData_request, iremotewinspool_dissect_winspool_AsyncGetPrinterData_response},
+ { 17, "winspool_AsyncGetPrinterDataEx",
+ iremotewinspool_dissect_winspool_AsyncGetPrinterDataEx_request, iremotewinspool_dissect_winspool_AsyncGetPrinterDataEx_response},
+ { 18, "winspool_AsyncSetPrinterData",
+ iremotewinspool_dissect_winspool_AsyncSetPrinterData_request, iremotewinspool_dissect_winspool_AsyncSetPrinterData_response},
+ { 19, "winspool_AsyncSetPrinterDataEx",
+ iremotewinspool_dissect_winspool_AsyncSetPrinterDataEx_request, iremotewinspool_dissect_winspool_AsyncSetPrinterDataEx_response},
+ { 20, "winspool_AsyncClosePrinter",
+ iremotewinspool_dissect_winspool_AsyncClosePrinter_request, iremotewinspool_dissect_winspool_AsyncClosePrinter_response},
+ { 21, "winspool_AsyncAddForm",
+ iremotewinspool_dissect_winspool_AsyncAddForm_request, iremotewinspool_dissect_winspool_AsyncAddForm_response},
+ { 22, "winspool_AsyncDeleteForm",
+ iremotewinspool_dissect_winspool_AsyncDeleteForm_request, iremotewinspool_dissect_winspool_AsyncDeleteForm_response},
+ { 23, "winspool_AsyncGetForm",
+ iremotewinspool_dissect_winspool_AsyncGetForm_request, iremotewinspool_dissect_winspool_AsyncGetForm_response},
+ { 24, "winspool_AsyncSetForm",
+ iremotewinspool_dissect_winspool_AsyncSetForm_request, iremotewinspool_dissect_winspool_AsyncSetForm_response},
+ { 25, "winspool_AsyncEnumForms",
+ iremotewinspool_dissect_winspool_AsyncEnumForms_request, iremotewinspool_dissect_winspool_AsyncEnumForms_response},
+ { 26, "winspool_AsyncGetPrinterDriver",
+ iremotewinspool_dissect_winspool_AsyncGetPrinterDriver_request, iremotewinspool_dissect_winspool_AsyncGetPrinterDriver_response},
+ { 27, "winspool_AsyncEnumPrinterData",
+ iremotewinspool_dissect_winspool_AsyncEnumPrinterData_request, iremotewinspool_dissect_winspool_AsyncEnumPrinterData_response},
+ { 28, "winspool_AsyncEnumPrinterDataEx",
+ iremotewinspool_dissect_winspool_AsyncEnumPrinterDataEx_request, iremotewinspool_dissect_winspool_AsyncEnumPrinterDataEx_response},
+ { 29, "winspool_AsyncEnumPrinterKey",
+ iremotewinspool_dissect_winspool_AsyncEnumPrinterKey_request, iremotewinspool_dissect_winspool_AsyncEnumPrinterKey_response},
+ { 30, "winspool_AsyncDeletePrinterData",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinterData_request, iremotewinspool_dissect_winspool_AsyncDeletePrinterData_response},
+ { 31, "winspool_AsyncDeletePrinterDataEx",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinterDataEx_request, iremotewinspool_dissect_winspool_AsyncDeletePrinterDataEx_response},
+ { 32, "winspool_AsyncDeletePrinterKey",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinterKey_request, iremotewinspool_dissect_winspool_AsyncDeletePrinterKey_response},
+ { 33, "winspool_AsyncXcvData",
+ iremotewinspool_dissect_winspool_AsyncXcvData_request, iremotewinspool_dissect_winspool_AsyncXcvData_response},
+ { 34, "winspool_AsyncSendRecvBidiData",
+ iremotewinspool_dissect_winspool_AsyncSendRecvBidiData_request, iremotewinspool_dissect_winspool_AsyncSendRecvBidiData_response},
+ { 35, "winspool_AsyncCreatePrinterIC",
+ iremotewinspool_dissect_winspool_AsyncCreatePrinterIC_request, iremotewinspool_dissect_winspool_AsyncCreatePrinterIC_response},
+ { 36, "winspool_AsyncPlayGdiScriptOnPrinterIC",
+ iremotewinspool_dissect_winspool_AsyncPlayGdiScriptOnPrinterIC_request, iremotewinspool_dissect_winspool_AsyncPlayGdiScriptOnPrinterIC_response},
+ { 37, "winspool_AsyncDeletePrinterIC",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinterIC_request, iremotewinspool_dissect_winspool_AsyncDeletePrinterIC_response},
+ { 38, "winspool_AsyncEnumPrinters",
+ iremotewinspool_dissect_winspool_AsyncEnumPrinters_request, iremotewinspool_dissect_winspool_AsyncEnumPrinters_response},
+ { 39, "winspool_AsyncAddPrinterDriver",
+ iremotewinspool_dissect_winspool_AsyncAddPrinterDriver_request, iremotewinspool_dissect_winspool_AsyncAddPrinterDriver_response},
+ { 40, "winspool_AsyncEnumPrinterDrivers",
+ iremotewinspool_dissect_winspool_AsyncEnumPrinterDrivers_request, iremotewinspool_dissect_winspool_AsyncEnumPrinterDrivers_response},
+ { 41, "winspool_AsyncGetPrinterDriverDirectory",
+ iremotewinspool_dissect_winspool_AsyncGetPrinterDriverDirectory_request, iremotewinspool_dissect_winspool_AsyncGetPrinterDriverDirectory_response},
+ { 42, "winspool_AsyncDeletePrinterDriver",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinterDriver_request, iremotewinspool_dissect_winspool_AsyncDeletePrinterDriver_response},
+ { 43, "winspool_AsyncDeletePrinterDriverEx",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverEx_request, iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverEx_response},
+ { 44, "winspool_AsyncAddPrintProcessor",
+ iremotewinspool_dissect_winspool_AsyncAddPrintProcessor_request, iremotewinspool_dissect_winspool_AsyncAddPrintProcessor_response},
+ { 45, "winspool_AsyncEnumPrintProcessors",
+ iremotewinspool_dissect_winspool_AsyncEnumPrintProcessors_request, iremotewinspool_dissect_winspool_AsyncEnumPrintProcessors_response},
+ { 46, "winspool_AsyncGetPrintProcessorDirectory",
+ iremotewinspool_dissect_winspool_AsyncGetPrintProcessorDirectory_request, iremotewinspool_dissect_winspool_AsyncGetPrintProcessorDirectory_response},
+ { 47, "winspool_AsyncEnumPorts",
+ iremotewinspool_dissect_winspool_AsyncEnumPorts_request, iremotewinspool_dissect_winspool_AsyncEnumPorts_response},
+ { 48, "winspool_AsyncEnumMonitors",
+ iremotewinspool_dissect_winspool_AsyncEnumMonitors_request, iremotewinspool_dissect_winspool_AsyncEnumMonitors_response},
+ { 49, "winspool_AsyncAddPort",
+ iremotewinspool_dissect_winspool_AsyncAddPort_request, iremotewinspool_dissect_winspool_AsyncAddPort_response},
+ { 50, "winspool_AsyncSetPort",
+ iremotewinspool_dissect_winspool_AsyncSetPort_request, iremotewinspool_dissect_winspool_AsyncSetPort_response},
+ { 51, "winspool_AsyncAddMonitor",
+ iremotewinspool_dissect_winspool_AsyncAddMonitor_request, iremotewinspool_dissect_winspool_AsyncAddMonitor_response},
+ { 52, "winspool_AsyncDeleteMonitor",
+ iremotewinspool_dissect_winspool_AsyncDeleteMonitor_request, iremotewinspool_dissect_winspool_AsyncDeleteMonitor_response},
+ { 53, "winspool_AsyncDeletePrintProcessor",
+ iremotewinspool_dissect_winspool_AsyncDeletePrintProcessor_request, iremotewinspool_dissect_winspool_AsyncDeletePrintProcessor_response},
+ { 54, "winspool_AsyncEnumPrintProcessorDatatypes",
+ iremotewinspool_dissect_winspool_AsyncEnumPrintProcessorDatatypes_request, iremotewinspool_dissect_winspool_AsyncEnumPrintProcessorDatatypes_response},
+ { 55, "winspool_AsyncAddPerMachineConnection",
+ iremotewinspool_dissect_winspool_AsyncAddPerMachineConnection_request, iremotewinspool_dissect_winspool_AsyncAddPerMachineConnection_response},
+ { 56, "winspool_AsyncDeletePerMachineConnection",
+ iremotewinspool_dissect_winspool_AsyncDeletePerMachineConnection_request, iremotewinspool_dissect_winspool_AsyncDeletePerMachineConnection_response},
+ { 57, "winspool_AsyncEnumPerMachineConnections",
+ iremotewinspool_dissect_winspool_AsyncEnumPerMachineConnections_request, iremotewinspool_dissect_winspool_AsyncEnumPerMachineConnections_response},
+ { 58, "winspool_SyncRegisterForRemoteNotifications",
+ iremotewinspool_dissect_winspool_SyncRegisterForRemoteNotifications_request, iremotewinspool_dissect_winspool_SyncRegisterForRemoteNotifications_response},
+ { 59, "winspool_SyncUnRegisterForRemoteNotifications",
+ iremotewinspool_dissect_winspool_SyncUnRegisterForRemoteNotifications_request, iremotewinspool_dissect_winspool_SyncUnRegisterForRemoteNotifications_response},
+ { 60, "winspool_SyncRefreshRemoteNotifications",
+ iremotewinspool_dissect_winspool_SyncRefreshRemoteNotifications_request, iremotewinspool_dissect_winspool_SyncRefreshRemoteNotifications_response},
+ { 61, "winspool_AsyncGetRemoteNotifications",
+ iremotewinspool_dissect_winspool_AsyncGetRemoteNotifications_request, iremotewinspool_dissect_winspool_AsyncGetRemoteNotifications_response},
+ { 62, "winspool_AsyncInstallPrinterDriverFromPackage",
+ iremotewinspool_dissect_winspool_AsyncInstallPrinterDriverFromPackage_request, iremotewinspool_dissect_winspool_AsyncInstallPrinterDriverFromPackage_response},
+ { 63, "winspool_AsyncUploadPrinterDriverPackage",
+ iremotewinspool_dissect_winspool_AsyncUploadPrinterDriverPackage_request, iremotewinspool_dissect_winspool_AsyncUploadPrinterDriverPackage_response},
+ { 64, "winspool_AsyncGetCorePrinterDrivers",
+ iremotewinspool_dissect_winspool_AsyncGetCorePrinterDrivers_request, iremotewinspool_dissect_winspool_AsyncGetCorePrinterDrivers_response},
+ { 65, "winspool_AsyncCorePrinterDriverInstalled",
+ iremotewinspool_dissect_winspool_AsyncCorePrinterDriverInstalled_request, iremotewinspool_dissect_winspool_AsyncCorePrinterDriverInstalled_response},
+ { 66, "winspool_AsyncGetPrinterDriverPackagePath",
+ iremotewinspool_dissect_winspool_AsyncGetPrinterDriverPackagePath_request, iremotewinspool_dissect_winspool_AsyncGetPrinterDriverPackagePath_response},
+ { 67, "winspool_AsyncDeletePrinterDriverPackage",
+ iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverPackage_request, iremotewinspool_dissect_winspool_AsyncDeletePrinterDriverPackage_response},
+ { 68, "winspool_AsyncReadPrinter",
+ iremotewinspool_dissect_winspool_AsyncReadPrinter_request, iremotewinspool_dissect_winspool_AsyncReadPrinter_response},
+ { 69, "winspool_AsyncResetPrinter",
+ iremotewinspool_dissect_winspool_AsyncResetPrinter_request, iremotewinspool_dissect_winspool_AsyncResetPrinter_response},
+ { 70, "winspool_AsyncGetJobNamedPropertyValue",
+ iremotewinspool_dissect_winspool_AsyncGetJobNamedPropertyValue_request, iremotewinspool_dissect_winspool_AsyncGetJobNamedPropertyValue_response},
+ { 71, "winspool_AsyncSetJobNamedProperty",
+ iremotewinspool_dissect_winspool_AsyncSetJobNamedProperty_request, iremotewinspool_dissect_winspool_AsyncSetJobNamedProperty_response},
+ { 72, "winspool_AsyncDeleteJobNamedProperty",
+ iremotewinspool_dissect_winspool_AsyncDeleteJobNamedProperty_request, iremotewinspool_dissect_winspool_AsyncDeleteJobNamedProperty_response},
+ { 73, "winspool_AsyncEnumJobNamedProperties",
+ iremotewinspool_dissect_winspool_AsyncEnumJobNamedProperties_request, iremotewinspool_dissect_winspool_AsyncEnumJobNamedProperties_response},
+ { 74, "winspool_AsyncLogJobInfoForBranchOffice",
+ iremotewinspool_dissect_winspool_AsyncLogJobInfoForBranchOffice_request, iremotewinspool_dissect_winspool_AsyncLogJobInfoForBranchOffice_response},
+ { 0, NULL, NULL, NULL }
+};
+
+void proto_register_dcerpc_iremotewinspool(void)
+{
+ static hf_register_info hf[] = {
+ { &hf_iremotewinspool_hresult,
+ { "HRES Windows Error", "iremotewinspool.hresult", FT_UINT32, BASE_HEX, VALS(HRES_errors), 0, NULL, HFILL }},
+ { &hf_iremotewinspool_opnum,
+ { "Operation", "iremotewinspool.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_sec_desc_buf_len,
+ { "Sec Desc Buf Len", "iremotewinspool.sec_desc_buf_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_werror,
+ { "Windows Error", "iremotewinspool.werror", FT_UINT32, BASE_HEX, VALS(WERR_errors), 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAbortPrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncAbortPrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddForm_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncAddForm.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddForm_pFormInfoContainer,
+ { "PFormInfoContainer", "iremotewinspool.winspool_AsyncAddForm.pFormInfoContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddJob_Level,
+ { "Level", "iremotewinspool.winspool_AsyncAddJob.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddJob_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncAddJob.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddJob_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncAddJob.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddJob_pAddJob,
+ { "PAddJob", "iremotewinspool.winspool_AsyncAddJob.pAddJob", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddJob_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncAddJob.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddMonitor_Name,
+ { "Name", "iremotewinspool.winspool_AsyncAddMonitor.Name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddMonitor_pMonitorContainer,
+ { "PMonitorContainer", "iremotewinspool.winspool_AsyncAddMonitor.pMonitorContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrintServer,
+ { "PPrintServer", "iremotewinspool.winspool_AsyncAddPerMachineConnection.pPrintServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pPrinterName,
+ { "PPrinterName", "iremotewinspool.winspool_AsyncAddPerMachineConnection.pPrinterName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pProvider,
+ { "PProvider", "iremotewinspool.winspool_AsyncAddPerMachineConnection.pProvider", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPerMachineConnection_pServer,
+ { "PServer", "iremotewinspool.winspool_AsyncAddPerMachineConnection.pServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPort_pMonitorName,
+ { "PMonitorName", "iremotewinspool.winspool_AsyncAddPort.pMonitorName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPort_pName,
+ { "PName", "iremotewinspool.winspool_AsyncAddPort.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPort_pPortContainer,
+ { "PPortContainer", "iremotewinspool.winspool_AsyncAddPort.pPortContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPort_pPortVarContainer,
+ { "PPortVarContainer", "iremotewinspool.winspool_AsyncAddPort.pPortVarContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncAddPrintProcessor.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pName,
+ { "PName", "iremotewinspool.winspool_AsyncAddPrintProcessor.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPathName,
+ { "PPathName", "iremotewinspool.winspool_AsyncAddPrintProcessor.pPathName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrintProcessor_pPrintProcessorName,
+ { "PPrintProcessorName", "iremotewinspool.winspool_AsyncAddPrintProcessor.pPrintProcessorName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinterDriver_dwFileCopyFlags,
+ { "DwFileCopyFlags", "iremotewinspool.winspool_AsyncAddPrinterDriver.dwFileCopyFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinterDriver_pDriverContainer,
+ { "PDriverContainer", "iremotewinspool.winspool_AsyncAddPrinterDriver.pDriverContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinterDriver_pName,
+ { "PName", "iremotewinspool.winspool_AsyncAddPrinterDriver.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinter_pClientInfo,
+ { "PClientInfo", "iremotewinspool.winspool_AsyncAddPrinter.pClientInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinter_pDevModeContainer,
+ { "PDevModeContainer", "iremotewinspool.winspool_AsyncAddPrinter.pDevModeContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinter_pHandle,
+ { "PHandle", "iremotewinspool.winspool_AsyncAddPrinter.pHandle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinter_pName,
+ { "PName", "iremotewinspool.winspool_AsyncAddPrinter.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinter_pPrinterContainer,
+ { "PPrinterContainer", "iremotewinspool.winspool_AsyncAddPrinter.pPrinterContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncAddPrinter_pSecurityContainer,
+ { "PSecurityContainer", "iremotewinspool.winspool_AsyncAddPrinter.pSecurityContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncClosePrinter_phPrinter,
+ { "PhPrinter", "iremotewinspool.winspool_AsyncClosePrinter.phPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_CoreDriverGUID,
+ { "CoreDriverGUID", "iremotewinspool.winspool_AsyncCorePrinterDriverInstalled.CoreDriverGUID", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_dwlDriverVersion,
+ { "DwlDriverVersion", "iremotewinspool.winspool_AsyncCorePrinterDriverInstalled.dwlDriverVersion", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_ftDriverDate,
+ { "FtDriverDate", "iremotewinspool.winspool_AsyncCorePrinterDriverInstalled.ftDriverDate", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pbDriverInstalled,
+ { "PbDriverInstalled", "iremotewinspool.winspool_AsyncCorePrinterDriverInstalled.pbDriverInstalled", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszEnvironment,
+ { "PszEnvironment", "iremotewinspool.winspool_AsyncCorePrinterDriverInstalled.pszEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCorePrinterDriverInstalled_pszServer,
+ { "PszServer", "iremotewinspool.winspool_AsyncCorePrinterDriverInstalled.pszServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCreatePrinterIC_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncCreatePrinterIC.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCreatePrinterIC_pDevModeContainer,
+ { "PDevModeContainer", "iremotewinspool.winspool_AsyncCreatePrinterIC.pDevModeContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncCreatePrinterIC_pHandle,
+ { "PHandle", "iremotewinspool.winspool_AsyncCreatePrinterIC.pHandle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteForm_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncDeleteForm.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteForm_pFormName,
+ { "PFormName", "iremotewinspool.winspool_AsyncDeleteForm.pFormName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_JobId,
+ { "JobId", "iremotewinspool.winspool_AsyncDeleteJobNamedProperty.JobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncDeleteJobNamedProperty.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteJobNamedProperty_pszName,
+ { "PszName", "iremotewinspool.winspool_AsyncDeleteJobNamedProperty.pszName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteMonitor_Name,
+ { "Name", "iremotewinspool.winspool_AsyncDeleteMonitor.Name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteMonitor_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncDeleteMonitor.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeleteMonitor_pMonitorName,
+ { "PMonitorName", "iremotewinspool.winspool_AsyncDeleteMonitor.pMonitorName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pPrinterName,
+ { "PPrinterName", "iremotewinspool.winspool_AsyncDeletePerMachineConnection.pPrinterName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePerMachineConnection_pServer,
+ { "PServer", "iremotewinspool.winspool_AsyncDeletePerMachineConnection.pServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_Name,
+ { "Name", "iremotewinspool.winspool_AsyncDeletePrintProcessor.Name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncDeletePrintProcessor.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrintProcessor_pPrintProcessorName,
+ { "PPrintProcessorName", "iremotewinspool.winspool_AsyncDeletePrintProcessor.pPrintProcessorName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncDeletePrinterDataEx.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pKeyName,
+ { "PKeyName", "iremotewinspool.winspool_AsyncDeletePrinterDataEx.pKeyName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDataEx_pValueName,
+ { "PValueName", "iremotewinspool.winspool_AsyncDeletePrinterDataEx.pValueName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterData_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncDeletePrinterData.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterData_pValueName,
+ { "PValueName", "iremotewinspool.winspool_AsyncDeletePrinterData.pValueName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_dwDeleteFlag,
+ { "DwDeleteFlag", "iremotewinspool.winspool_AsyncDeletePrinterDriverEx.dwDeleteFlag", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_dwVersionNum,
+ { "DwVersionNum", "iremotewinspool.winspool_AsyncDeletePrinterDriverEx.dwVersionNum", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pDriverName,
+ { "PDriverName", "iremotewinspool.winspool_AsyncDeletePrinterDriverEx.pDriverName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncDeletePrinterDriverEx.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverEx_pName,
+ { "PName", "iremotewinspool.winspool_AsyncDeletePrinterDriverEx.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszEnvironment,
+ { "PszEnvironment", "iremotewinspool.winspool_AsyncDeletePrinterDriverPackage.pszEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszInfPath,
+ { "PszInfPath", "iremotewinspool.winspool_AsyncDeletePrinterDriverPackage.pszInfPath", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriverPackage_pszServer,
+ { "PszServer", "iremotewinspool.winspool_AsyncDeletePrinterDriverPackage.pszServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pDriverName,
+ { "PDriverName", "iremotewinspool.winspool_AsyncDeletePrinterDriver.pDriverName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncDeletePrinterDriver.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterDriver_pName,
+ { "PName", "iremotewinspool.winspool_AsyncDeletePrinterDriver.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterIC_phPrinterIC,
+ { "PhPrinterIC", "iremotewinspool.winspool_AsyncDeletePrinterIC.phPrinterIC", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterKey_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncDeletePrinterKey.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinterKey_pKeyName,
+ { "PKeyName", "iremotewinspool.winspool_AsyncDeletePrinterKey.pKeyName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncDeletePrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncDeletePrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEndDocPrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEndDocPrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEndPagePrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEndPagePrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumForms_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumForms.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumForms_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumForms.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumForms_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEnumForms.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumForms_pForm,
+ { "PForm", "iremotewinspool.winspool_AsyncEnumForms.pForm", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumForms_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumForms.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumForms_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumForms.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_JobId,
+ { "JobId", "iremotewinspool.winspool_AsyncEnumJobNamedProperties.JobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEnumJobNamedProperties.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_pcProperties,
+ { "PcProperties", "iremotewinspool.winspool_AsyncEnumJobNamedProperties.pcProperties", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobNamedProperties_ppProperties,
+ { "PpProperties", "iremotewinspool.winspool_AsyncEnumJobNamedProperties.ppProperties", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_FirstJob,
+ { "FirstJob", "iremotewinspool.winspool_AsyncEnumJobs.FirstJob", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumJobs.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_NoJobs,
+ { "NoJobs", "iremotewinspool.winspool_AsyncEnumJobs.NoJobs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumJobs.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEnumJobs.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_pJob,
+ { "PJob", "iremotewinspool.winspool_AsyncEnumJobs.pJob", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumJobs.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumJobs_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumJobs.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumMonitors_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumMonitors.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumMonitors_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumMonitors.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumMonitors_pMonitor,
+ { "PMonitor", "iremotewinspool.winspool_AsyncEnumMonitors.pMonitor", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumMonitors_pName,
+ { "PName", "iremotewinspool.winspool_AsyncEnumMonitors.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumMonitors_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumMonitors.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumMonitors_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumMonitors.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumPerMachineConnections.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pPrinterEnum,
+ { "PPrinterEnum", "iremotewinspool.winspool_AsyncEnumPerMachineConnections.pPrinterEnum", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pServer,
+ { "PServer", "iremotewinspool.winspool_AsyncEnumPerMachineConnections.pServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumPerMachineConnections.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPerMachineConnections_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumPerMachineConnections.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPorts_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumPorts.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPorts_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumPorts.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPorts_pName,
+ { "PName", "iremotewinspool.winspool_AsyncEnumPorts.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPorts_pPort,
+ { "PPort", "iremotewinspool.winspool_AsyncEnumPorts.pPort", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPorts_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumPorts.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPorts_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumPorts.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumPrintProcessorDatatypes.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumPrintProcessorDatatypes.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pDatatypes,
+ { "PDatatypes", "iremotewinspool.winspool_AsyncEnumPrintProcessorDatatypes.pDatatypes", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pName,
+ { "PName", "iremotewinspool.winspool_AsyncEnumPrintProcessorDatatypes.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pPrintProcessorName,
+ { "PPrintProcessorName", "iremotewinspool.winspool_AsyncEnumPrintProcessorDatatypes.pPrintProcessorName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumPrintProcessorDatatypes.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessorDatatypes_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumPrintProcessorDatatypes.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumPrintProcessors.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumPrintProcessors.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncEnumPrintProcessors.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pName,
+ { "PName", "iremotewinspool.winspool_AsyncEnumPrintProcessors.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pPrintProcessorInfo,
+ { "PPrintProcessorInfo", "iremotewinspool.winspool_AsyncEnumPrintProcessors.pPrintProcessorInfo", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumPrintProcessors.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrintProcessors_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumPrintProcessors.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_cbEnumValues,
+ { "CbEnumValues", "iremotewinspool.winspool_AsyncEnumPrinterDataEx.cbEnumValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEnumPrinterDataEx.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pEnumValues,
+ { "PEnumValues", "iremotewinspool.winspool_AsyncEnumPrinterDataEx.pEnumValues", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pKeyName,
+ { "PKeyName", "iremotewinspool.winspool_AsyncEnumPrinterDataEx.pKeyName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pcbEnumValues,
+ { "PcbEnumValues", "iremotewinspool.winspool_AsyncEnumPrinterDataEx.pcbEnumValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDataEx_pnEnumValues,
+ { "PnEnumValues", "iremotewinspool.winspool_AsyncEnumPrinterDataEx.pnEnumValues", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_cbData,
+ { "CbData", "iremotewinspool.winspool_AsyncEnumPrinterData.cbData", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_cbValueName,
+ { "CbValueName", "iremotewinspool.winspool_AsyncEnumPrinterData.cbValueName", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_dwIndex,
+ { "DwIndex", "iremotewinspool.winspool_AsyncEnumPrinterData.dwIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEnumPrinterData.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_pData,
+ { "PData", "iremotewinspool.winspool_AsyncEnumPrinterData.pData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_pType,
+ { "PType", "iremotewinspool.winspool_AsyncEnumPrinterData.pType", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_pValueName,
+ { "PValueName", "iremotewinspool.winspool_AsyncEnumPrinterData.pValueName", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbData,
+ { "PcbData", "iremotewinspool.winspool_AsyncEnumPrinterData.pcbData", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterData_pcbValueName,
+ { "PcbValueName", "iremotewinspool.winspool_AsyncEnumPrinterData.pcbValueName", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumPrinterDrivers.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumPrinterDrivers.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pDrivers,
+ { "PDrivers", "iremotewinspool.winspool_AsyncEnumPrinterDrivers.pDrivers", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncEnumPrinterDrivers.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pName,
+ { "PName", "iremotewinspool.winspool_AsyncEnumPrinterDrivers.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumPrinterDrivers.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterDrivers_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumPrinterDrivers.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterKey_cbSubkey,
+ { "CbSubkey", "iremotewinspool.winspool_AsyncEnumPrinterKey.cbSubkey", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterKey_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncEnumPrinterKey.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pKeyName,
+ { "PKeyName", "iremotewinspool.winspool_AsyncEnumPrinterKey.pKeyName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pSubkey,
+ { "PSubkey", "iremotewinspool.winspool_AsyncEnumPrinterKey.pSubkey", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinterKey_pcbSubkey,
+ { "PcbSubkey", "iremotewinspool.winspool_AsyncEnumPrinterKey.pcbSubkey", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinters_Flags,
+ { "Flags", "iremotewinspool.winspool_AsyncEnumPrinters.Flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinters_Level,
+ { "Level", "iremotewinspool.winspool_AsyncEnumPrinters.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinters_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncEnumPrinters.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinters_pName,
+ { "PName", "iremotewinspool.winspool_AsyncEnumPrinters.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinters_pPrinterEnum,
+ { "PPrinterEnum", "iremotewinspool.winspool_AsyncEnumPrinters.pPrinterEnum", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinters_pcReturned,
+ { "PcReturned", "iremotewinspool.winspool_AsyncEnumPrinters.pcReturned", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncEnumPrinters_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncEnumPrinters.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_cCorePrinterDrivers,
+ { "CCorePrinterDrivers", "iremotewinspool.winspool_AsyncGetCorePrinterDrivers.cCorePrinterDrivers", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_cchCoreDrivers,
+ { "CchCoreDrivers", "iremotewinspool.winspool_AsyncGetCorePrinterDrivers.cchCoreDrivers", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pCorePrinterDrivers,
+ { "PCorePrinterDrivers", "iremotewinspool.winspool_AsyncGetCorePrinterDrivers.pCorePrinterDrivers", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszEnvironment,
+ { "PszEnvironment", "iremotewinspool.winspool_AsyncGetCorePrinterDrivers.pszEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszServer,
+ { "PszServer", "iremotewinspool.winspool_AsyncGetCorePrinterDrivers.pszServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetCorePrinterDrivers_pszzCoreDriverDependencies,
+ { "PszzCoreDriverDependencies", "iremotewinspool.winspool_AsyncGetCorePrinterDrivers.pszzCoreDriverDependencies", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetForm_Level,
+ { "Level", "iremotewinspool.winspool_AsyncGetForm.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetForm_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncGetForm.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetForm_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncGetForm.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetForm_pForm,
+ { "PForm", "iremotewinspool.winspool_AsyncGetForm.pForm", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetForm_pFormName,
+ { "PFormName", "iremotewinspool.winspool_AsyncGetForm.pFormName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetForm_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetForm.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_JobId,
+ { "JobId", "iremotewinspool.winspool_AsyncGetJobNamedPropertyValue.JobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncGetJobNamedPropertyValue.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_pValue,
+ { "PValue", "iremotewinspool.winspool_AsyncGetJobNamedPropertyValue.pValue", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJobNamedPropertyValue_pszName,
+ { "PszName", "iremotewinspool.winspool_AsyncGetJobNamedPropertyValue.pszName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJob_JobId,
+ { "JobId", "iremotewinspool.winspool_AsyncGetJob.JobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJob_Level,
+ { "Level", "iremotewinspool.winspool_AsyncGetJob.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJob_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncGetJob.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJob_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncGetJob.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJob_pJob,
+ { "PJob", "iremotewinspool.winspool_AsyncGetJob.pJob", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetJob_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetJob.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_Level,
+ { "Level", "iremotewinspool.winspool_AsyncGetPrintProcessorDirectory.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncGetPrintProcessorDirectory.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncGetPrintProcessorDirectory.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pName,
+ { "PName", "iremotewinspool.winspool_AsyncGetPrintProcessorDirectory.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pPrintProcessorDirectory,
+ { "PPrintProcessorDirectory", "iremotewinspool.winspool_AsyncGetPrintProcessorDirectory.pPrintProcessorDirectory", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrintProcessorDirectory_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetPrintProcessorDirectory.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncGetPrinterDataEx.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_nSize,
+ { "NSize", "iremotewinspool.winspool_AsyncGetPrinterDataEx.nSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pData,
+ { "PData", "iremotewinspool.winspool_AsyncGetPrinterDataEx.pData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pKeyName,
+ { "PKeyName", "iremotewinspool.winspool_AsyncGetPrinterDataEx.pKeyName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pType,
+ { "PType", "iremotewinspool.winspool_AsyncGetPrinterDataEx.pType", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pValueName,
+ { "PValueName", "iremotewinspool.winspool_AsyncGetPrinterDataEx.pValueName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDataEx_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetPrinterDataEx.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterData_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncGetPrinterData.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterData_nSize,
+ { "NSize", "iremotewinspool.winspool_AsyncGetPrinterData.nSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterData_pData,
+ { "PData", "iremotewinspool.winspool_AsyncGetPrinterData.pData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterData_pType,
+ { "PType", "iremotewinspool.winspool_AsyncGetPrinterData.pType", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterData_pValueName,
+ { "PValueName", "iremotewinspool.winspool_AsyncGetPrinterData.pValueName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterData_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetPrinterData.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_Level,
+ { "Level", "iremotewinspool.winspool_AsyncGetPrinterDriverDirectory.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncGetPrinterDriverDirectory.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pDriverDirectory,
+ { "PDriverDirectory", "iremotewinspool.winspool_AsyncGetPrinterDriverDirectory.pDriverDirectory", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncGetPrinterDriverDirectory.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pName,
+ { "PName", "iremotewinspool.winspool_AsyncGetPrinterDriverDirectory.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverDirectory_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetPrinterDriverDirectory.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_cchDriverPackageCab,
+ { "CchDriverPackageCab", "iremotewinspool.winspool_AsyncGetPrinterDriverPackagePath.cchDriverPackageCab", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pcchRequiredSize,
+ { "PcchRequiredSize", "iremotewinspool.winspool_AsyncGetPrinterDriverPackagePath.pcchRequiredSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszDriverPackageCab,
+ { "PszDriverPackageCab", "iremotewinspool.winspool_AsyncGetPrinterDriverPackagePath.pszDriverPackageCab", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszEnvironment,
+ { "PszEnvironment", "iremotewinspool.winspool_AsyncGetPrinterDriverPackagePath.pszEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszLanguage,
+ { "PszLanguage", "iremotewinspool.winspool_AsyncGetPrinterDriverPackagePath.pszLanguage", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszPackageID,
+ { "PszPackageID", "iremotewinspool.winspool_AsyncGetPrinterDriverPackagePath.pszPackageID", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriverPackagePath_pszServer,
+ { "PszServer", "iremotewinspool.winspool_AsyncGetPrinterDriverPackagePath.pszServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_Level,
+ { "Level", "iremotewinspool.winspool_AsyncGetPrinterDriver.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncGetPrinterDriver.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_dwClientMajorVersion,
+ { "DwClientMajorVersion", "iremotewinspool.winspool_AsyncGetPrinterDriver.dwClientMajorVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_dwClientMinorVersion,
+ { "DwClientMinorVersion", "iremotewinspool.winspool_AsyncGetPrinterDriver.dwClientMinorVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncGetPrinterDriver.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pDriver,
+ { "PDriver", "iremotewinspool.winspool_AsyncGetPrinterDriver.pDriver", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pEnvironment,
+ { "PEnvironment", "iremotewinspool.winspool_AsyncGetPrinterDriver.pEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetPrinterDriver.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMaxVersion,
+ { "PdwServerMaxVersion", "iremotewinspool.winspool_AsyncGetPrinterDriver.pdwServerMaxVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinterDriver_pdwServerMinVersion,
+ { "PdwServerMinVersion", "iremotewinspool.winspool_AsyncGetPrinterDriver.pdwServerMinVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinter_Level,
+ { "Level", "iremotewinspool.winspool_AsyncGetPrinter.Level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinter_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncGetPrinter.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncGetPrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinter_pPrinter,
+ { "PPrinter", "iremotewinspool.winspool_AsyncGetPrinter.pPrinter", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetPrinter_pcbNeeded,
+ { "PcbNeeded", "iremotewinspool.winspool_AsyncGetPrinter.pcbNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_hRpcHandle,
+ { "HRpcHandle", "iremotewinspool.winspool_AsyncGetRemoteNotifications.hRpcHandle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncGetRemoteNotifications_ppNotifyData,
+ { "PpNotifyData", "iremotewinspool.winspool_AsyncGetRemoteNotifications.ppNotifyData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_dwFlags,
+ { "DwFlags", "iremotewinspool.winspool_AsyncInstallPrinterDriverFromPackage.dwFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszDriverName,
+ { "PszDriverName", "iremotewinspool.winspool_AsyncInstallPrinterDriverFromPackage.pszDriverName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszEnvironment,
+ { "PszEnvironment", "iremotewinspool.winspool_AsyncInstallPrinterDriverFromPackage.pszEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszInfPath,
+ { "PszInfPath", "iremotewinspool.winspool_AsyncInstallPrinterDriverFromPackage.pszInfPath", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncInstallPrinterDriverFromPackage_pszServer,
+ { "PszServer", "iremotewinspool.winspool_AsyncInstallPrinterDriverFromPackage.pszServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncLogJobInfoForBranchOffice_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncLogJobInfoForBranchOffice.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncLogJobInfoForBranchOffice_pBranchOfficeJobDataContainer,
+ { "PBranchOfficeJobDataContainer", "iremotewinspool.winspool_AsyncLogJobInfoForBranchOffice.pBranchOfficeJobDataContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncOpenPrinter_AccessRequired,
+ { "AccessRequired", "iremotewinspool.winspool_AsyncOpenPrinter.AccessRequired", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncOpenPrinter_pClientInfo,
+ { "PClientInfo", "iremotewinspool.winspool_AsyncOpenPrinter.pClientInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncOpenPrinter_pDatatype,
+ { "PDatatype", "iremotewinspool.winspool_AsyncOpenPrinter.pDatatype", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncOpenPrinter_pDevModeContainer,
+ { "PDevModeContainer", "iremotewinspool.winspool_AsyncOpenPrinter.pDevModeContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncOpenPrinter_pHandle,
+ { "PHandle", "iremotewinspool.winspool_AsyncOpenPrinter.pHandle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncOpenPrinter_pPrinterName,
+ { "PPrinterName", "iremotewinspool.winspool_AsyncOpenPrinter.pPrinterName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_cIn,
+ { "CIn", "iremotewinspool.winspool_AsyncPlayGdiScriptOnPrinterIC.cIn", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_cOut,
+ { "COut", "iremotewinspool.winspool_AsyncPlayGdiScriptOnPrinterIC.cOut", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_hPrinterIC,
+ { "HPrinterIC", "iremotewinspool.winspool_AsyncPlayGdiScriptOnPrinterIC.hPrinterIC", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pIn,
+ { "PIn", "iremotewinspool.winspool_AsyncPlayGdiScriptOnPrinterIC.pIn", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_pOut,
+ { "POut", "iremotewinspool.winspool_AsyncPlayGdiScriptOnPrinterIC.pOut", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncPlayGdiScriptOnPrinterIC_ul,
+ { "Ul", "iremotewinspool.winspool_AsyncPlayGdiScriptOnPrinterIC.ul", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncReadPrinter_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncReadPrinter.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncReadPrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncReadPrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncReadPrinter_pBuf,
+ { "PBuf", "iremotewinspool.winspool_AsyncReadPrinter.pBuf", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncReadPrinter_pcNoBytesRead,
+ { "PcNoBytesRead", "iremotewinspool.winspool_AsyncReadPrinter.pcNoBytesRead", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncResetPrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncResetPrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncResetPrinter_pDatatype,
+ { "PDatatype", "iremotewinspool.winspool_AsyncResetPrinter.pDatatype", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncResetPrinter_pDevModeContainer,
+ { "PDevModeContainer", "iremotewinspool.winspool_AsyncResetPrinter.pDevModeContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncScheduleJob_JobId,
+ { "JobId", "iremotewinspool.winspool_AsyncScheduleJob.JobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncScheduleJob_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncScheduleJob.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSendRecvBidiData_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncSendRecvBidiData.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSendRecvBidiData_pAction,
+ { "PAction", "iremotewinspool.winspool_AsyncSendRecvBidiData.pAction", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSendRecvBidiData_pReqData,
+ { "PReqData", "iremotewinspool.winspool_AsyncSendRecvBidiData.pReqData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSendRecvBidiData_ppRespData,
+ { "PpRespData", "iremotewinspool.winspool_AsyncSendRecvBidiData.ppRespData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetForm_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncSetForm.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetForm_pFormInfoContainer,
+ { "PFormInfoContainer", "iremotewinspool.winspool_AsyncSetForm.pFormInfoContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetForm_pFormName,
+ { "PFormName", "iremotewinspool.winspool_AsyncSetForm.pFormName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_JobId,
+ { "JobId", "iremotewinspool.winspool_AsyncSetJobNamedProperty.JobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncSetJobNamedProperty.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetJobNamedProperty_pProperty,
+ { "PProperty", "iremotewinspool.winspool_AsyncSetJobNamedProperty.pProperty", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetJob_Command,
+ { "Command", "iremotewinspool.winspool_AsyncSetJob.Command", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetJob_JobId,
+ { "JobId", "iremotewinspool.winspool_AsyncSetJob.JobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetJob_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncSetJob.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetJob_pJobContainer,
+ { "PJobContainer", "iremotewinspool.winspool_AsyncSetJob.pJobContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPort_pName,
+ { "PName", "iremotewinspool.winspool_AsyncSetPort.pName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPort_pPortContainer,
+ { "PPortContainer", "iremotewinspool.winspool_AsyncSetPort.pPortContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPort_pPortName,
+ { "PPortName", "iremotewinspool.winspool_AsyncSetPort.pPortName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_Type,
+ { "Type", "iremotewinspool.winspool_AsyncSetPrinterDataEx.Type", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_cbData,
+ { "CbData", "iremotewinspool.winspool_AsyncSetPrinterDataEx.cbData", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncSetPrinterDataEx.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pData,
+ { "PData", "iremotewinspool.winspool_AsyncSetPrinterDataEx.pData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pKeyName,
+ { "PKeyName", "iremotewinspool.winspool_AsyncSetPrinterDataEx.pKeyName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterDataEx_pValueName,
+ { "PValueName", "iremotewinspool.winspool_AsyncSetPrinterDataEx.pValueName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterData_Type,
+ { "Type", "iremotewinspool.winspool_AsyncSetPrinterData.Type", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterData_cbData,
+ { "CbData", "iremotewinspool.winspool_AsyncSetPrinterData.cbData", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterData_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncSetPrinterData.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterData_pData,
+ { "PData", "iremotewinspool.winspool_AsyncSetPrinterData.pData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinterData_pValueName,
+ { "PValueName", "iremotewinspool.winspool_AsyncSetPrinterData.pValueName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinter_Command,
+ { "Command", "iremotewinspool.winspool_AsyncSetPrinter.Command", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncSetPrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinter_pDevModeContainer,
+ { "PDevModeContainer", "iremotewinspool.winspool_AsyncSetPrinter.pDevModeContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinter_pPrinterContainer,
+ { "PPrinterContainer", "iremotewinspool.winspool_AsyncSetPrinter.pPrinterContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncSetPrinter_pSecurityContainer,
+ { "PSecurityContainer", "iremotewinspool.winspool_AsyncSetPrinter.pSecurityContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncStartDocPrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncStartDocPrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncStartDocPrinter_pDocInfoContainer,
+ { "PDocInfoContainer", "iremotewinspool.winspool_AsyncStartDocPrinter.pDocInfoContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncStartDocPrinter_pJobId,
+ { "PJobId", "iremotewinspool.winspool_AsyncStartDocPrinter.pJobId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncStartPagePrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncStartPagePrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_dwFlags,
+ { "DwFlags", "iremotewinspool.winspool_AsyncUploadPrinterDriverPackage.dwFlags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pcchDestInfPath,
+ { "PcchDestInfPath", "iremotewinspool.winspool_AsyncUploadPrinterDriverPackage.pcchDestInfPath", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszDestInfPath,
+ { "PszDestInfPath", "iremotewinspool.winspool_AsyncUploadPrinterDriverPackage.pszDestInfPath", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszEnvironment,
+ { "PszEnvironment", "iremotewinspool.winspool_AsyncUploadPrinterDriverPackage.pszEnvironment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszInfPath,
+ { "PszInfPath", "iremotewinspool.winspool_AsyncUploadPrinterDriverPackage.pszInfPath", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncUploadPrinterDriverPackage_pszServer,
+ { "PszServer", "iremotewinspool.winspool_AsyncUploadPrinterDriverPackage.pszServer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncWritePrinter_cbBuf,
+ { "CbBuf", "iremotewinspool.winspool_AsyncWritePrinter.cbBuf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncWritePrinter_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_AsyncWritePrinter.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncWritePrinter_pBuf,
+ { "PBuf", "iremotewinspool.winspool_AsyncWritePrinter.pBuf", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncWritePrinter_pcWritten,
+ { "PcWritten", "iremotewinspool.winspool_AsyncWritePrinter.pcWritten", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_cbInputData,
+ { "CbInputData", "iremotewinspool.winspool_AsyncXcvData.cbInputData", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_cbOutputData,
+ { "CbOutputData", "iremotewinspool.winspool_AsyncXcvData.cbOutputData", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_hXcv,
+ { "HXcv", "iremotewinspool.winspool_AsyncXcvData.hXcv", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_pInputData,
+ { "PInputData", "iremotewinspool.winspool_AsyncXcvData.pInputData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_pOutputData,
+ { "POutputData", "iremotewinspool.winspool_AsyncXcvData.pOutputData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_pcbOutputNeeded,
+ { "PcbOutputNeeded", "iremotewinspool.winspool_AsyncXcvData.pcbOutputNeeded", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_pdwStatus,
+ { "PdwStatus", "iremotewinspool.winspool_AsyncXcvData.pdwStatus", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_AsyncXcvData_pszDataName,
+ { "PszDataName", "iremotewinspool.winspool_AsyncXcvData.pszDataName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags_IPDFP_COPY_ALL_FILES,
+ { "IPDFP COPY ALL FILES", "iremotewinspool.winspool_InstallPrinterDriverFromPackageFlags.IPDFP_COPY_ALL_FILES", FT_BOOLEAN, 32, TFS(&winspool_InstallPrinterDriverFromPackageFlags_IPDFP_COPY_ALL_FILES_tfs), ( 0x00000001 ), NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_NOTIFY_OPTIONS_CONTAINER_pOptions,
+ { "POptions", "iremotewinspool.winspool_NOTIFY_OPTIONS_CONTAINER.pOptions", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_NOTIFY_REPLY_CONTAINER_pInfo,
+ { "PInfo", "iremotewinspool.winspool_NOTIFY_REPLY_CONTAINER.pInfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintNamedProperty_propertyName,
+ { "PropertyName", "iremotewinspool.winspool_PrintNamedProperty.propertyName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintNamedProperty_propertyValue,
+ { "PropertyValue", "iremotewinspool.winspool_PrintNamedProperty.propertyValue", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertiesCollection_numberOfProperties,
+ { "NumberOfProperties", "iremotewinspool.winspool_PrintPropertiesCollection.numberOfProperties", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertiesCollection_propertiesCollection,
+ { "PropertiesCollection", "iremotewinspool.winspool_PrintPropertiesCollection.propertiesCollection", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyByte,
+ { "PropertyByte", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyByte", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyDevModeContainer,
+ { "PropertyDevModeContainer", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyDevModeContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyInt32,
+ { "PropertyInt32", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyInt32", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyInt64,
+ { "PropertyInt64", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyInt64", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyOptionsContainer,
+ { "PropertyOptionsContainer", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyOptionsContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyReplyContainer,
+ { "PropertyReplyContainer", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyReplyContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertySDContainer,
+ { "PropertySDContainer", "iremotewinspool.winspool_PrintPropertyValueUnion.propertySDContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyString,
+ { "PropertyString", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyString", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValueUnion_propertyTimeContainer,
+ { "PropertyTimeContainer", "iremotewinspool.winspool_PrintPropertyValueUnion.propertyTimeContainer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValue_PropertyType,
+ { "PropertyType", "iremotewinspool.winspool_PrintPropertyValue.PropertyType", FT_UINT1632, BASE_DEC, VALS(iremotewinspool_winspool_PrintPropertyType_vals), 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_PrintPropertyValue_value,
+ { "Value", "iremotewinspool.winspool_PrintPropertyValue.value", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_hRpcHandle,
+ { "HRpcHandle", "iremotewinspool.winspool_SyncRefreshRemoteNotifications.hRpcHandle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_pNotifyFilter,
+ { "PNotifyFilter", "iremotewinspool.winspool_SyncRefreshRemoteNotifications.pNotifyFilter", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_SyncRefreshRemoteNotifications_ppNotifyData,
+ { "PpNotifyData", "iremotewinspool.winspool_SyncRefreshRemoteNotifications.ppNotifyData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_hPrinter,
+ { "HPrinter", "iremotewinspool.winspool_SyncRegisterForRemoteNotifications.hPrinter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_pNotifyFilter,
+ { "PNotifyFilter", "iremotewinspool.winspool_SyncRegisterForRemoteNotifications.pNotifyFilter", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_SyncRegisterForRemoteNotifications_phRpcHandle,
+ { "PhRpcHandle", "iremotewinspool.winspool_SyncRegisterForRemoteNotifications.phRpcHandle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_SyncUnRegisterForRemoteNotifications_phRpcHandle,
+ { "PhRpcHandle", "iremotewinspool.winspool_SyncUnRegisterForRemoteNotifications.phRpcHandle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_UploadPrinterDriverPackageFlags_UPDP_CHECK_DRIVERSTORE,
+ { "UPDP CHECK DRIVERSTORE", "iremotewinspool.winspool_UploadPrinterDriverPackageFlags.UPDP_CHECK_DRIVERSTORE", FT_BOOLEAN, 32, TFS(&winspool_UploadPrinterDriverPackageFlags_UPDP_CHECK_DRIVERSTORE_tfs), ( 0x00000004 ), NULL, HFILL }},
+ { &hf_iremotewinspool_winspool_UploadPrinterDriverPackageFlags_UPDP_UPLOAD_ALWAYS,
+ { "UPDP UPLOAD ALWAYS", "iremotewinspool.winspool_UploadPrinterDriverPackageFlags.UPDP_UPLOAD_ALWAYS", FT_BOOLEAN, 32, TFS(&winspool_UploadPrinterDriverPackageFlags_UPDP_UPLOAD_ALWAYS_tfs), ( 0x00000002 ), NULL, HFILL }},
+ };
+
+
+ static gint *ett[] = {
+ &ett_dcerpc_iremotewinspool,
+ &ett_iremotewinspool_winspool_NOTIFY_REPLY_CONTAINER,
+ &ett_iremotewinspool_winspool_NOTIFY_OPTIONS_CONTAINER,
+ &ett_iremotewinspool_winspool_PrintPropertyValueUnion,
+ &ett_iremotewinspool_winspool_PrintPropertyValue,
+ &ett_iremotewinspool_winspool_PrintNamedProperty,
+ &ett_iremotewinspool_winspool_PrintPropertiesCollection,
+ &ett_iremotewinspool_winspool_InstallPrinterDriverFromPackageFlags,
+ &ett_iremotewinspool_winspool_UploadPrinterDriverPackageFlags,
+ };
+
+ proto_dcerpc_iremotewinspool = proto_register_protocol("IRemoteWinspool SubSystem", "IREMOTEWINSPOOL", "iremotewinspool");
+ proto_register_field_array(proto_dcerpc_iremotewinspool, hf, array_length (hf));
+ proto_register_subtree_array(ett, array_length(ett));
+}
+
+void proto_reg_handoff_dcerpc_iremotewinspool(void)
+{
+ dcerpc_init_uuid(proto_dcerpc_iremotewinspool, ett_dcerpc_iremotewinspool,
+ &uuid_dcerpc_iremotewinspool, ver_dcerpc_iremotewinspool,
+ iremotewinspool_dissectors, hf_iremotewinspool_opnum);
+}