diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/packet-dcerpc-winspool.c | |
parent | Initial commit. (diff) | |
download | wireshark-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.c | 10050 |
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, ¶meter); + 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); +} |