Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

msrprn

import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-rprn"

Index

type BIDI\_TYPE

BIDI_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-RPRN]).

type BIDI_TYPE uint16
const (
    BIDI_NULL   BIDI_TYPE = 0
    BIDI_INT    BIDI_TYPE = 1
    BIDI_FLOAT  BIDI_TYPE = 2
    BIDI_BOOL   BIDI_TYPE = 3
    BIDI_STRING BIDI_TYPE = 4
    BIDI_TEXT   BIDI_TYPE = 5
    BIDI_ENUM   BIDI_TYPE = 6
    BIDI_BLOB   BIDI_TYPE = 7
)

type CORE\_PRINTER\_DRIVER

CORE_PRINTER_DRIVER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type CORE_PRINTER_DRIVER struct {
    CoreDriverGUID   guid.GUID
    FtDriverDate     FILETIME
    DwlDriverVersion DWORDLONG
    SzPackageID      [260]uint16
}

type DEVMODE

DEVMODE ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type DEVMODE struct {
    DmDeviceName    [32]uint16
    DmSpecVersion   uint16
    DmDriverVersion uint16
    DmSize          uint16
    DmDriverExtra   uint16
    DmFields        ndr.DWORD
    DmOrientation   int16
    DmPaperSize     int16
    DmPaperLength   int16
    DmPaperWidth    int16
    DmScale         int16
    DmCopies        int16
    DmDefaultSource int16
    DmPrintQuality  int16
    DmColor         int16
    DmDuplex        int16
    DmYResolution   int16
    DmTTOption      int16
    DmCollate       int16
    DmFormName      [32]uint16
    Reserved0       uint16
    Reserved1       ndr.DWORD
    Reserved2       ndr.DWORD
    Reserved3       ndr.DWORD
    DmNup           ndr.DWORD
    Reserved4       ndr.DWORD
    DmICMMethod     ndr.DWORD
    DmICMIntent     ndr.DWORD
    DmMediaType     ndr.DWORD
    DmDitherType    ndr.DWORD
    Reserved5       ndr.DWORD
    Reserved6       ndr.DWORD
    Reserved7       ndr.DWORD
    Reserved8       ndr.DWORD
}

type DEVMODE\_CONTAINER

DEVMODE_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type DEVMODE_CONTAINER struct {
    CbBuf    ndr.DWORD
    PDevMode []uint8 `ndr:"unique,size_is=CbBuf"`
}

type DOC\_INFO\_1

DOC_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type DOC_INFO_1 struct {
    PDocName    *ndr.WSTR `ndr:"unique"`
    POutputFile *ndr.WSTR `ndr:"unique"`
    PDatatype   *ndr.WSTR `ndr:"unique"`
}

type DOC\_INFO\_CONTAINER

DOC_INFO_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type DOC_INFO_CONTAINER struct {
    Level   ndr.DWORD
    DocInfo DOC_INFO_CONTAINER_DocInfo
}

type DOC\_INFO\_CONTAINER\_DocInfo

DOC_INFO_CONTAINER_DocInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type DOC_INFO_CONTAINER_DocInfo struct {
    Tag       ndr.DWORD   `ndr:"switch"`
    PDocInfo1 *DOC_INFO_1 `ndr:"case=1,unique"`
}

type DRIVER\_CONTAINER

DRIVER_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type DRIVER_CONTAINER struct {
    Level      ndr.DWORD
    DriverInfo DRIVER_CONTAINER_DriverInfo
}

type DRIVER\_CONTAINER\_DriverInfo

DRIVER_CONTAINER_DriverInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type DRIVER_CONTAINER_DriverInfo struct {
    Tag      ndr.DWORD          `ndr:"switch"`
    PNotUsed *DRIVER_INFO_1     `ndr:"case=1,unique"`
    Level2   *DRIVER_INFO_2     `ndr:"case=2,unique"`
    Level3   *RPC_DRIVER_INFO_3 `ndr:"case=3,unique"`
    Level4   *RPC_DRIVER_INFO_4 `ndr:"case=4,unique"`
    Level6   *RPC_DRIVER_INFO_6 `ndr:"case=6,unique"`
    Level8   *RPC_DRIVER_INFO_8 `ndr:"case=8,unique"`
}

type DRIVER\_INFO\_1

DRIVER_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type DRIVER_INFO_1 struct {
    PName *ndr.WSTR `ndr:"unique"`
}

type DRIVER\_INFO\_2

DRIVER_INFO_2 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type DRIVER_INFO_2 struct {
    CVersion     ndr.DWORD
    PName        *ndr.WSTR `ndr:"unique"`
    PEnvironment *ndr.WSTR `ndr:"unique"`
    PDriverPath  *ndr.WSTR `ndr:"unique"`
    PDataFile    *ndr.WSTR `ndr:"unique"`
    PConfigFile  *ndr.WSTR `ndr:"unique"`
}

type DWORDLONG

DWORDLONG is the [MS-DTYP] 2.2.13 64-bit unsigned integer. Referenced by the driver info structures (dwlDriverVersion) but not defined in the MS-RPRN IDL.

type DWORDLONG uint64

type EBranchOfficeJobEventType

EBranchOfficeJobEventType is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-RPRN]).

type EBranchOfficeJobEventType uint16

type FILETIME

FILETIME is the [MS-DTYP] 2.3.3 64-bit timestamp. It is the shared msdtyp type, not a per-protocol redefinition: MS-RPRN references it (in the driver info structures) but does not define it in its own IDL.

type FILETIME = msdtyp.FILETIME

type FORM\_CONTAINER

FORM_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type FORM_CONTAINER struct {
    Level    ndr.DWORD
    FormInfo FORM_CONTAINER_FormInfo
}

type FORM\_CONTAINER\_FormInfo

FORM_CONTAINER_FormInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type FORM_CONTAINER_FormInfo struct {
    Tag        ndr.DWORD        `ndr:"switch"`
    PFormInfo1 *FORM_INFO_1     `ndr:"case=1,unique"`
    PFormInfo2 *RPC_FORM_INFO_2 `ndr:"case=2,unique"`
}

type FORM\_INFO\_1

FORM_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type FORM_INFO_1 struct {
    Flags         ndr.DWORD
    PName         *ndr.WSTR `ndr:"unique"`
    Size          SIZE
    ImageableArea RECTL
}

type GDI\_HANDLE

GDI_HANDLE is an RPC context handle: 20 bytes ([MS-RPCE] 2.3.2.2, [MS-RPRN]).

type GDI_HANDLE [20]byte

type JOB\_CONTAINER

JOB_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type JOB_CONTAINER struct {
    Level   ndr.DWORD
    JobInfo JOB_CONTAINER_JobInfo
}

type JOB\_CONTAINER\_JobInfo

JOB_CONTAINER_JobInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type JOB_CONTAINER_JobInfo struct {
    Tag    ndr.DWORD   `ndr:"switch"`
    Level1 *JOB_INFO_1 `ndr:"case=1,unique"`
    Level2 *JOB_INFO_2 `ndr:"case=2,unique"`
    Level3 *JOB_INFO_3 `ndr:"case=3,unique"`
    Level4 *JOB_INFO_4 `ndr:"case=4,unique"`
}

type JOB\_INFO\_1

JOB_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type JOB_INFO_1 struct {
    JobId        ndr.DWORD
    PPrinterName *ndr.WSTR `ndr:"unique"`
    PMachineName *ndr.WSTR `ndr:"unique"`
    PUserName    *ndr.WSTR `ndr:"unique"`
    PDocument    *ndr.WSTR `ndr:"unique"`
    PDatatype    *ndr.WSTR `ndr:"unique"`
    PStatus      *ndr.WSTR `ndr:"unique"`
    Status       ndr.DWORD
    Priority     ndr.DWORD
    Position     ndr.DWORD
    TotalPages   ndr.DWORD
    PagesPrinted ndr.DWORD
    Submitted    SYSTEMTIME
}

type JOB\_INFO\_2

JOB_INFO_2 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type JOB_INFO_2 struct {
    JobId               ndr.DWORD
    PPrinterName        *ndr.WSTR `ndr:"unique"`
    PMachineName        *ndr.WSTR `ndr:"unique"`
    PUserName           *ndr.WSTR `ndr:"unique"`
    PDocument           *ndr.WSTR `ndr:"unique"`
    PNotifyName         *ndr.WSTR `ndr:"unique"`
    PDatatype           *ndr.WSTR `ndr:"unique"`
    PPrintProcessor     *ndr.WSTR `ndr:"unique"`
    PParameters         *ndr.WSTR `ndr:"unique"`
    PDriverName         *ndr.WSTR `ndr:"unique"`
    PDevMode            ndr.DWORD
    PStatus             *ndr.WSTR `ndr:"unique"`
    PSecurityDescriptor ndr.DWORD
    Status              ndr.DWORD
    Priority            ndr.DWORD
    Position            ndr.DWORD
    StartTime           ndr.DWORD
    UntilTime           ndr.DWORD
    TotalPages          ndr.DWORD
    Size                ndr.DWORD
    Submitted           SYSTEMTIME
    Time                ndr.DWORD
    PagesPrinted        ndr.DWORD
}

type JOB\_INFO\_3

JOB_INFO_3 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type JOB_INFO_3 struct {
    JobId     ndr.DWORD
    NextJobId ndr.DWORD
    Reserved  ndr.DWORD
}

type JOB\_INFO\_4

JOB_INFO_4 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type JOB_INFO_4 struct {
    JobId               ndr.DWORD
    PPrinterName        *ndr.WSTR `ndr:"unique"`
    PMachineName        *ndr.WSTR `ndr:"unique"`
    PUserName           *ndr.WSTR `ndr:"unique"`
    PDocument           *ndr.WSTR `ndr:"unique"`
    PNotifyName         *ndr.WSTR `ndr:"unique"`
    PDatatype           *ndr.WSTR `ndr:"unique"`
    PPrintProcessor     *ndr.WSTR `ndr:"unique"`
    PParameters         *ndr.WSTR `ndr:"unique"`
    PDriverName         *ndr.WSTR `ndr:"unique"`
    PDevMode            ndr.DWORD
    PStatus             *ndr.WSTR `ndr:"unique"`
    PSecurityDescriptor ndr.DWORD
    Status              ndr.DWORD
    Priority            ndr.DWORD
    Position            ndr.DWORD
    StartTime           ndr.DWORD
    UntilTime           ndr.DWORD
    TotalPages          ndr.DWORD
    Size                ndr.DWORD
    Submitted           SYSTEMTIME
    Time                ndr.DWORD
    PagesPrinted        ndr.DWORD
    SizeHigh            int32
}

type LANGID

LANGID is a scalar typedef ([MS-RPRN]).

type LANGID uint16

type LONG\_PTR

LONG_PTR is the [MS-DTYP] pointer-sized signed integer. It appears only in the reserved SPLCLIENT_INFO_2.notUsed field ([MS-RPRN] 2.2.1.3.2), which the spooler marshals in a 32-bit context, so it is transmitted as a 4-byte value.

type LONG_PTR int32

type MONITOR\_CONTAINER

MONITOR_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type MONITOR_CONTAINER struct {
    Level       ndr.DWORD
    MonitorInfo MONITOR_CONTAINER_MonitorInfo
}

type MONITOR\_CONTAINER\_MonitorInfo

MONITOR_CONTAINER_MonitorInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type MONITOR_CONTAINER_MonitorInfo struct {
    Tag           ndr.DWORD       `ndr:"switch"`
    PMonitorInfo1 *MONITOR_INFO_1 `ndr:"case=1,unique"`
    PMonitorInfo2 *MONITOR_INFO_2 `ndr:"case=2,unique"`
}

type MONITOR\_INFO\_1

MONITOR_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type MONITOR_INFO_1 struct {
    PName *ndr.WSTR `ndr:"unique"`
}

type MONITOR\_INFO\_2

MONITOR_INFO_2 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type MONITOR_INFO_2 struct {
    PName        *ndr.WSTR `ndr:"unique"`
    PEnvironment *ndr.WSTR `ndr:"unique"`
    PDLLName     *ndr.WSTR `ndr:"unique"`
}

type OS\_TYPE

OS_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-RPRN]).

type OS_TYPE uint16
const (
    VER_NT_WORKSTATION       OS_TYPE = 0x00000001
    VER_NT_DOMAIN_CONTROLLER OS_TYPE = 0x00000002
    VER_NT_SERVER            OS_TYPE = 0x00000003
)

type PORT\_CONTAINER

PORT_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PORT_CONTAINER struct {
    Level    ndr.DWORD
    PortInfo PORT_CONTAINER_PortInfo
}

type PORT\_CONTAINER\_PortInfo

PORT_CONTAINER_PortInfo is the [switch_is(0x00FFFFFF & Level)] union of PORT_CONTAINER ([MS-RPRN] 2.2.1.2.4). The discriminant is the low 24 bits of Level (the top byte carries flags), transmitted as a DWORD; set Tag to Level&0x00FFFFFF. Case 0x00FFFFFF (16777215) selects PORT_INFO_FF.

type PORT_CONTAINER_PortInfo struct {
    Tag         ndr.DWORD     `ndr:"switch"`
    PPortInfo1  *PORT_INFO_1  `ndr:"case=1,unique"`
    PPortInfo2  *PORT_INFO_2  `ndr:"case=2,unique"`
    PPortInfo3  *PORT_INFO_3  `ndr:"case=3,unique"`
    PPortInfoFF *PORT_INFO_FF `ndr:"case=16777215,unique"`
}

type PORT\_INFO\_1

PORT_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PORT_INFO_1 struct {
    PPortName *ndr.WSTR `ndr:"unique"`
}

type PORT\_INFO\_2

PORT_INFO_2 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PORT_INFO_2 struct {
    PPortName    *ndr.WSTR `ndr:"unique"`
    PMonitorName *ndr.WSTR `ndr:"unique"`
    PDescription *ndr.WSTR `ndr:"unique"`
    FPortType    ndr.DWORD
    Reserved     ndr.DWORD
}

type PORT\_INFO\_3

PORT_INFO_3 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PORT_INFO_3 struct {
    DwStatus   ndr.DWORD
    PszStatus  *ndr.WSTR `ndr:"unique"`
    DwSeverity ndr.DWORD
}

type PORT\_INFO\_FF

PORT_INFO_FF ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PORT_INFO_FF struct {
    PPortName     *ndr.WSTR `ndr:"unique"`
    CbMonitorData ndr.DWORD
    PMonitorData  *uint8 `ndr:"unique"`
}

type PORT\_VAR\_CONTAINER

PORT_VAR_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PORT_VAR_CONTAINER struct {
    CbMonitorData ndr.DWORD
    PMonitorData  []uint8 `ndr:"unique,size_is=CbMonitorData"`
}

type PRINTER\_CONTAINER

PRINTER_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_CONTAINER struct {
    Level       ndr.DWORD
    PrinterInfo PRINTER_CONTAINER_PrinterInfo
}

type PRINTER\_CONTAINER\_PrinterInfo

PRINTER_CONTAINER_PrinterInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type PRINTER_CONTAINER_PrinterInfo struct {
    Tag                ndr.DWORD            `ndr:"switch"`
    PPrinterInfoStress *PRINTER_INFO_STRESS `ndr:"case=0,unique"`
    PPrinterInfo1      *PRINTER_INFO_1      `ndr:"case=1,unique"`
    PPrinterInfo2      *PRINTER_INFO_2      `ndr:"case=2,unique"`
    PPrinterInfo3      *PRINTER_INFO_3      `ndr:"case=3,unique"`
    PPrinterInfo4      *PRINTER_INFO_4      `ndr:"case=4,unique"`
    PPrinterInfo5      *PRINTER_INFO_5      `ndr:"case=5,unique"`
    PPrinterInfo6      *PRINTER_INFO_6      `ndr:"case=6,unique"`
    PPrinterInfo7      *PRINTER_INFO_7      `ndr:"case=7,unique"`
    PPrinterInfo8      *PRINTER_INFO_8      `ndr:"case=8,unique"`
    PPrinterInfo9      *PRINTER_INFO_9      `ndr:"case=9,unique"`
}

type PRINTER\_HANDLE

PRINTER_HANDLE is an RPC context handle: 20 bytes ([MS-RPCE] 2.3.2.2, [MS-RPRN]).

type PRINTER_HANDLE [20]byte

type PRINTER\_INFO\_1

PRINTER_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_1 struct {
    Flags        ndr.DWORD
    PDescription *ndr.WSTR `ndr:"unique"`
    PName        *ndr.WSTR `ndr:"unique"`
    PComment     *ndr.WSTR `ndr:"unique"`
}

type PRINTER\_INFO\_2

PRINTER_INFO_2 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_2 struct {
    PServerName         *ndr.WSTR `ndr:"unique"`
    PPrinterName        *ndr.WSTR `ndr:"unique"`
    PShareName          *ndr.WSTR `ndr:"unique"`
    PPortName           *ndr.WSTR `ndr:"unique"`
    PDriverName         *ndr.WSTR `ndr:"unique"`
    PComment            *ndr.WSTR `ndr:"unique"`
    PLocation           *ndr.WSTR `ndr:"unique"`
    PDevMode            ndr.DWORD
    PSepFile            *ndr.WSTR `ndr:"unique"`
    PPrintProcessor     *ndr.WSTR `ndr:"unique"`
    PDatatype           *ndr.WSTR `ndr:"unique"`
    PParameters         *ndr.WSTR `ndr:"unique"`
    PSecurityDescriptor ndr.DWORD
    Attributes          ndr.DWORD
    Priority            ndr.DWORD
    DefaultPriority     ndr.DWORD
    StartTime           ndr.DWORD
    UntilTime           ndr.DWORD
    Status              ndr.DWORD
    CJobs               ndr.DWORD
    AveragePPM          ndr.DWORD
}

type PRINTER\_INFO\_3

PRINTER_INFO_3 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_3 struct {
    PSecurityDescriptor ndr.DWORD
}

type PRINTER\_INFO\_4

PRINTER_INFO_4 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_4 struct {
    PPrinterName *ndr.WSTR `ndr:"unique"`
    PServerName  *ndr.WSTR `ndr:"unique"`
    Attributes   ndr.DWORD
}

type PRINTER\_INFO\_5

PRINTER_INFO_5 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_5 struct {
    PPrinterName             *ndr.WSTR `ndr:"unique"`
    PPortName                *ndr.WSTR `ndr:"unique"`
    Attributes               ndr.DWORD
    DeviceNotSelectedTimeout ndr.DWORD
    TransmissionRetryTimeout ndr.DWORD
}

type PRINTER\_INFO\_6

PRINTER_INFO_6 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_6 struct {
    DwStatus ndr.DWORD
}

type PRINTER\_INFO\_7

PRINTER_INFO_7 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_7 struct {
    PszObjectGUID *ndr.WSTR `ndr:"unique"`
    DwAction      ndr.DWORD
}

type PRINTER\_INFO\_8

PRINTER_INFO_8 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_8 struct {
    PDevMode ndr.DWORD
}

type PRINTER\_INFO\_9

PRINTER_INFO_9 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_9 struct {
    PDevMode ndr.DWORD
}

type PRINTER\_INFO\_STRESS

PRINTER_INFO_STRESS ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type PRINTER_INFO_STRESS struct {
    PPrinterName              *ndr.WSTR `ndr:"unique"`
    PServerName               *ndr.WSTR `ndr:"unique"`
    CJobs                     ndr.DWORD
    CTotalJobs                ndr.DWORD
    CTotalBytes               ndr.DWORD
    StUpTime                  SYSTEMTIME
    MaxcRef                   ndr.DWORD
    CTotalPagesPrinted        ndr.DWORD
    DwGetVersion              ndr.DWORD
    FFreeBuild                ndr.DWORD
    CSpooling                 ndr.DWORD
    CMaxSpooling              ndr.DWORD
    CRef                      ndr.DWORD
    CErrorOutOfPaper          ndr.DWORD
    CErrorNotReady            ndr.DWORD
    CJobError                 ndr.DWORD
    DwNumberOfProcessors      ndr.DWORD
    DwProcessorType           ndr.DWORD
    DwHighPartTotalBytes      ndr.DWORD
    CChangeID                 ndr.DWORD
    DwLastError               ndr.DWORD
    Status                    ndr.DWORD
    CEnumerateNetworkPrinters ndr.DWORD
    CAddNetPrinters           ndr.DWORD
    WProcessorArchitecture    uint16
    WProcessorLevel           uint16
    CRefIC                    ndr.DWORD
    DwReserved2               ndr.DWORD
    DwReserved3               ndr.DWORD
}

type RECTL

RECTL ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RECTL struct {
    Left   int32
    Top    int32
    Right  int32
    Bottom int32
}

type RPC\_BIDI\_DATA

RPC_BIDI_DATA ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BIDI_DATA struct {
    DwBidiType ndr.DWORD
    U          RPC_BIDI_DATA_U
}

type RPC\_BIDI\_DATA\_U

RPC_BIDI_DATA_U is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type RPC_BIDI_DATA_U struct {
    Tag    ndr.DWORD            `ndr:"switch"`
    BData  int32                `ndr:"case=0"`
    IData  int32                `ndr:"case=1"`
    SData  *uint16              `ndr:"case=4,unique"`
    FData  float32              `ndr:"case=2"`
    BiData RPC_BINARY_CONTAINER `ndr:"case=7"`
}

type RPC\_BIDI\_REQUEST\_CONTAINER

RPC_BIDI_REQUEST_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BIDI_REQUEST_CONTAINER struct {
    Version ndr.DWORD
    Flags   ndr.DWORD
    Count   ndr.DWORD
    AData   []RPC_BIDI_REQUEST_DATA `ndr:"unique,size_is=Count"`
}

type RPC\_BIDI\_REQUEST\_DATA

RPC_BIDI_REQUEST_DATA ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BIDI_REQUEST_DATA struct {
    DwReqNumber ndr.DWORD
    PSchema     *ndr.WSTR `ndr:"unique"`
    Data        RPC_BIDI_DATA
}

type RPC\_BIDI\_RESPONSE\_CONTAINER

RPC_BIDI_RESPONSE_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BIDI_RESPONSE_CONTAINER struct {
    Version ndr.DWORD
    Flags   ndr.DWORD
    Count   ndr.DWORD
    AData   []RPC_BIDI_RESPONSE_DATA `ndr:"unique,size_is=Count"`
}

type RPC\_BIDI\_RESPONSE\_DATA

RPC_BIDI_RESPONSE_DATA ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BIDI_RESPONSE_DATA struct {
    DwResult    ndr.DWORD
    DwReqNumber ndr.DWORD
    PSchema     *ndr.WSTR `ndr:"unique"`
    Data        RPC_BIDI_DATA
}

type RPC\_BINARY\_CONTAINER

RPC_BINARY_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BINARY_CONTAINER struct {
    CbBuf     ndr.DWORD
    PszString []uint8 `ndr:"unique,size_is=CbBuf"`
}

type RPC\_BranchOfficeJobData

RPC_BranchOfficeJobData ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BranchOfficeJobData struct {
    EEventType EBranchOfficeJobEventType
    JobId      ndr.DWORD
    JobInfo    RPC_BranchOfficeJobData_JobInfo
}

type RPC\_BranchOfficeJobDataContainer

RPC_BranchOfficeJobDataContainer ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BranchOfficeJobDataContainer struct {
    CJobDataEntries ndr.DWORD
    JobData         []RPC_BranchOfficeJobData `ndr:"unique,size_is=CJobDataEntries"`
}

type RPC\_BranchOfficeJobDataError

RPC_BranchOfficeJobDataError ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BranchOfficeJobDataError struct {
    LastError         ndr.DWORD
    PDocumentName     *ndr.WSTR `ndr:"unique"`
    PUserName         *ndr.WSTR `ndr:"unique"`
    PPrinterName      *ndr.WSTR `ndr:"unique"`
    PDataType         *ndr.WSTR `ndr:"unique"`
    TotalSize         int64
    PrintedSize       int64
    TotalPages        ndr.DWORD
    PrintedPages      ndr.DWORD
    PMachineName      *ndr.WSTR `ndr:"unique"`
    PJobError         *ndr.WSTR `ndr:"unique"`
    PErrorDescription *ndr.WSTR `ndr:"unique"`
}

type RPC\_BranchOfficeJobDataPipelineFailed

RPC_BranchOfficeJobDataPipelineFailed ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BranchOfficeJobDataPipelineFailed struct {
    PDocumentName   *ndr.WSTR `ndr:"unique"`
    PPrinterName    *ndr.WSTR `ndr:"unique"`
    PExtraErrorInfo *ndr.WSTR `ndr:"unique"`
}

type RPC\_BranchOfficeJobDataPrinted

RPC_BranchOfficeJobDataPrinted ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BranchOfficeJobDataPrinted struct {
    Status        ndr.DWORD
    PDocumentName *ndr.WSTR `ndr:"unique"`
    PUserName     *ndr.WSTR `ndr:"unique"`
    PMachineName  *ndr.WSTR `ndr:"unique"`
    PPrinterName  *ndr.WSTR `ndr:"unique"`
    PPortName     *ndr.WSTR `ndr:"unique"`
    Size          int64
    TotalPages    ndr.DWORD
}

type RPC\_BranchOfficeJobDataRendered

RPC_BranchOfficeJobDataRendered ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BranchOfficeJobDataRendered struct {
    Size         int64
    ICMMethod    ndr.DWORD
    Color        int16
    PrintQuality int16
    YResolution  int16
    Copies       int16
    TTOption     int16
}

type RPC\_BranchOfficeJobData\_JobInfo

RPC_BranchOfficeJobData_JobInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type RPC_BranchOfficeJobData_JobInfo struct {
    Tag                EBranchOfficeJobEventType             `ndr:"switch"`
    LogJobPrinted      RPC_BranchOfficeJobDataPrinted        `ndr:"case=1"`
    LogJobRendered     RPC_BranchOfficeJobDataRendered       `ndr:"case=2"`
    LogJobError        RPC_BranchOfficeJobDataError          `ndr:"case=3"`
    LogPipelineFailed  RPC_BranchOfficeJobDataPipelineFailed `ndr:"case=4"`
    LogOfflineFileFull RPC_BranchOfficeLogOfflineFileFull    `ndr:"case=5"`
}

type RPC\_BranchOfficeLogOfflineFileFull

RPC_BranchOfficeLogOfflineFileFull ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_BranchOfficeLogOfflineFileFull struct {
    PMachineName *ndr.WSTR `ndr:"unique"`
}

type RPC\_DRIVER\_INFO\_3

RPC_DRIVER_INFO_3 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_DRIVER_INFO_3 struct {
    CVersion          ndr.DWORD
    PName             *ndr.WSTR `ndr:"unique"`
    PEnvironment      *ndr.WSTR `ndr:"unique"`
    PDriverPath       *ndr.WSTR `ndr:"unique"`
    PDataFile         *ndr.WSTR `ndr:"unique"`
    PConfigFile       *ndr.WSTR `ndr:"unique"`
    PHelpFile         *ndr.WSTR `ndr:"unique"`
    PMonitorName      *ndr.WSTR `ndr:"unique"`
    PDefaultDataType  *ndr.WSTR `ndr:"unique"`
    CchDependentFiles ndr.DWORD
    PDependentFiles   []uint16 `ndr:"unique,size_is=CchDependentFiles"`
}

type RPC\_DRIVER\_INFO\_4

RPC_DRIVER_INFO_4 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_DRIVER_INFO_4 struct {
    CVersion          ndr.DWORD
    PName             *ndr.WSTR `ndr:"unique"`
    PEnvironment      *ndr.WSTR `ndr:"unique"`
    PDriverPath       *ndr.WSTR `ndr:"unique"`
    PDataFile         *ndr.WSTR `ndr:"unique"`
    PConfigFile       *ndr.WSTR `ndr:"unique"`
    PHelpFile         *ndr.WSTR `ndr:"unique"`
    PMonitorName      *ndr.WSTR `ndr:"unique"`
    PDefaultDataType  *ndr.WSTR `ndr:"unique"`
    CchDependentFiles ndr.DWORD
    PDependentFiles   []uint16 `ndr:"unique,size_is=CchDependentFiles"`
    CchPreviousNames  ndr.DWORD
    PszzPreviousNames []uint16 `ndr:"unique,size_is=CchPreviousNames"`
}

type RPC\_DRIVER\_INFO\_6

RPC_DRIVER_INFO_6 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_DRIVER_INFO_6 struct {
    CVersion          ndr.DWORD
    PName             *ndr.WSTR `ndr:"unique"`
    PEnvironment      *ndr.WSTR `ndr:"unique"`
    PDriverPath       *ndr.WSTR `ndr:"unique"`
    PDataFile         *ndr.WSTR `ndr:"unique"`
    PConfigFile       *ndr.WSTR `ndr:"unique"`
    PHelpFile         *ndr.WSTR `ndr:"unique"`
    PMonitorName      *ndr.WSTR `ndr:"unique"`
    PDefaultDataType  *ndr.WSTR `ndr:"unique"`
    CchDependentFiles ndr.DWORD
    PDependentFiles   []uint16 `ndr:"unique,size_is=CchDependentFiles"`
    CchPreviousNames  ndr.DWORD
    PszzPreviousNames []uint16 `ndr:"unique,size_is=CchPreviousNames"`
    FtDriverDate      FILETIME
    DwlDriverVersion  DWORDLONG
    PMfgName          *ndr.WSTR `ndr:"unique"`
    POEMUrl           *ndr.WSTR `ndr:"unique"`
    PHardwareID       *ndr.WSTR `ndr:"unique"`
    PProvider         *ndr.WSTR `ndr:"unique"`
}

type RPC\_DRIVER\_INFO\_8

RPC_DRIVER_INFO_8 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_DRIVER_INFO_8 struct {
    CVersion                    ndr.DWORD
    PName                       *ndr.WSTR `ndr:"unique"`
    PEnvironment                *ndr.WSTR `ndr:"unique"`
    PDriverPath                 *ndr.WSTR `ndr:"unique"`
    PDataFile                   *ndr.WSTR `ndr:"unique"`
    PConfigFile                 *ndr.WSTR `ndr:"unique"`
    PHelpFile                   *ndr.WSTR `ndr:"unique"`
    PMonitorName                *ndr.WSTR `ndr:"unique"`
    PDefaultDataType            *ndr.WSTR `ndr:"unique"`
    CchDependentFiles           ndr.DWORD
    PDependentFiles             []uint16 `ndr:"unique,size_is=CchDependentFiles"`
    CchPreviousNames            ndr.DWORD
    PszzPreviousNames           []uint16 `ndr:"unique,size_is=CchPreviousNames"`
    FtDriverDate                FILETIME
    DwlDriverVersion            DWORDLONG
    PMfgName                    *ndr.WSTR `ndr:"unique"`
    POEMUrl                     *ndr.WSTR `ndr:"unique"`
    PHardwareID                 *ndr.WSTR `ndr:"unique"`
    PProvider                   *ndr.WSTR `ndr:"unique"`
    PPrintProcessor             *ndr.WSTR `ndr:"unique"`
    PVendorSetup                *ndr.WSTR `ndr:"unique"`
    CchColorProfiles            ndr.DWORD
    PszzColorProfiles           []uint16  `ndr:"unique,size_is=CchColorProfiles"`
    PInfPath                    *ndr.WSTR `ndr:"unique"`
    DwPrinterDriverAttributes   ndr.DWORD
    CchCoreDependencies         ndr.DWORD
    PszzCoreDriverDependencies  []uint16 `ndr:"unique,size_is=CchCoreDependencies"`
    FtMinInboxDriverVerDate     FILETIME
    DwlMinInboxDriverVerVersion DWORDLONG
}

type RPC\_EPrintPropertyType

RPC_EPrintPropertyType is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-RPRN]).

type RPC_EPrintPropertyType uint16

type RPC\_FORM\_INFO\_2

RPC_FORM_INFO_2 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_FORM_INFO_2 struct {
    Flags         ndr.DWORD
    PName         *ndr.WSTR `ndr:"unique"`
    Size          SIZE
    ImageableArea RECTL
    PKeyword      *ndr.WSTR `ndr:"unique"`
    StringType    ndr.DWORD
    PMuiDll       *ndr.WSTR `ndr:"unique"`
    DwResourceId  ndr.DWORD
    PDisplayName  *ndr.WSTR `ndr:"unique"`
    WLangID       uint16
}

type RPC\_PrintNamedProperty

RPC_PrintNamedProperty ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_PrintNamedProperty struct {
    PropertyName  *ndr.WSTR `ndr:"unique"`
    PropertyValue RPC_PrintPropertyValue
}

type RPC\_PrintPropertyBlob

RPC_PrintPropertyBlob is the anonymous propertyBlob arm ([MS-RPRN] 2.2.1.13.2): a counted byte buffer { DWORD cbBuf; [size_is(cbBuf)] BYTE *pBuf; }.

type RPC_PrintPropertyBlob struct {
    CbBuf ndr.DWORD
    PBuf  []uint8 `ndr:"unique,size_is=CbBuf"`
}

type RPC\_PrintPropertyValue

RPC_PrintPropertyValue ([MS-RPRN] 2.2.1.13.2). The ePropertyType discriminant selects the arm of the value union; per [C706] 14.3.8 the discriminant is transmitted both as this struct field and inline in the union.

type RPC_PrintPropertyValue struct {
    EPropertyType RPC_EPrintPropertyType
    Value         RPC_PrintPropertyValue_Value
}

type RPC\_PrintPropertyValue\_Value

RPC_PrintPropertyValue_Value is the [switch_is(ePropertyType)] union of RPC_PrintPropertyValue. The switch discriminant is the RPC_EPrintPropertyType enum (16-bit under NDR20, [C706] 14.3.6).

type RPC_PrintPropertyValue_Value struct {
    Tag            RPC_EPrintPropertyType `ndr:"switch,enum"`
    PropertyString *ndr.WSTR              `ndr:"case=1,unique"`
    PropertyInt32  int32                  `ndr:"case=2"`
    PropertyInt64  int64                  `ndr:"case=3"`
    PropertyByte   uint8                  `ndr:"case=4"`
    PropertyBlob   RPC_PrintPropertyBlob  `ndr:"case=5"`
}

type RPC\_V2\_NOTIFY\_INFO

RPC_V2_NOTIFY_INFO ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_V2_NOTIFY_INFO struct {
    Version ndr.DWORD
    Flags   ndr.DWORD
    Count   ndr.DWORD
    AData   []RPC_V2_NOTIFY_INFO_DATA `ndr:"unique,size_is=Count"`
}

type RPC\_V2\_NOTIFY\_INFO\_DATA

RPC_V2_NOTIFY_INFO_DATA ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_V2_NOTIFY_INFO_DATA struct {
    Type     uint16
    Field    uint16
    Reserved ndr.DWORD
    Id       ndr.DWORD
    Data     RPC_V2_NOTIFY_INFO_DATA_DATA
}

type RPC\_V2\_NOTIFY\_INFO\_DATA\_DATA

RPC_V2_NOTIFY_INFO_DATA_DATA is the [switch_is(Reserved & 0xFFFF)] union embedded in RPC_V2_NOTIFY_INFO_DATA ([MS-RPRN] 2.2.1.13.4). The discriminant is the low 16 bits of Reserved, transmitted as a DWORD; the case values are the [MS-RPRN] TABLE_* #define constants (TABLE_DWORD=0x1 … TABLE_SECURITYDESCRIPTOR=0x5). The ndr codec parses case labels as integers, so they are numeric here rather than the symbolic names.

type RPC_V2_NOTIFY_INFO_DATA_DATA struct {
    Tag                ndr.DWORD            `ndr:"switch"`
    DwData             ndr.DWORD            `ndr:"case=1"` // TABLE_DWORD
    String             STRING_CONTAINER     `ndr:"case=2"` // TABLE_STRING
    DevMode            DEVMODE_CONTAINER    `ndr:"case=3"` // TABLE_DEVMODE
    SystemTime         SYSTEMTIME_CONTAINER `ndr:"case=4"` // TABLE_TIME
    SecurityDescriptor SECURITY_CONTAINER   `ndr:"case=5"` // TABLE_SECURITYDESCRIPTOR
}

type RPC\_V2\_NOTIFY\_OPTIONS

RPC_V2_NOTIFY_OPTIONS ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_V2_NOTIFY_OPTIONS struct {
    Version  ndr.DWORD
    Reserved ndr.DWORD
    Count    ndr.DWORD
    PTypes   []RPC_V2_NOTIFY_OPTIONS_TYPE `ndr:"unique,size_is=Count"`
}

type RPC\_V2\_NOTIFY\_OPTIONS\_TYPE

RPC_V2_NOTIFY_OPTIONS_TYPE ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type RPC_V2_NOTIFY_OPTIONS_TYPE struct {
    Type      uint16
    Reserved0 uint16
    Reserved1 ndr.DWORD
    Reserved2 ndr.DWORD
    Count     ndr.DWORD
    PFields   []uint16 `ndr:"unique,size_is=Count"`
}

type RPC\_V2\_UREPLY\_PRINTER

RPC_V2_UREPLY_PRINTER is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type RPC_V2_UREPLY_PRINTER struct {
    Tag   ndr.DWORD           `ndr:"switch"`
    PInfo *RPC_V2_NOTIFY_INFO `ndr:"case=0,unique"`
}

type SECURITY\_CONTAINER

SECURITY_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type SECURITY_CONTAINER struct {
    CbBuf     ndr.DWORD
    PSecurity []uint8 `ndr:"unique,size_is=CbBuf"`
}

type SIZE

SIZE ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type SIZE struct {
    Cx  int32
    Cy  int32
}

type SPLCLIENT\_CONTAINER

SPLCLIENT_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type SPLCLIENT_CONTAINER struct {
    Level      ndr.DWORD
    ClientInfo SPLCLIENT_CONTAINER_ClientInfo
}

type SPLCLIENT\_CONTAINER\_ClientInfo

SPLCLIENT_CONTAINER_ClientInfo is a discriminated union ([MS-RPRN]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.

type SPLCLIENT_CONTAINER_ClientInfo struct {
    Tag          ndr.DWORD         `ndr:"switch"`
    PClientInfo1 *SPLCLIENT_INFO_1 `ndr:"case=1,unique"`
    PNotUsed1    *SPLCLIENT_INFO_2 `ndr:"case=2,unique"`
    PNotUsed2    *SPLCLIENT_INFO_3 `ndr:"case=3,unique"`
}

type SPLCLIENT\_INFO\_1

SPLCLIENT_INFO_1 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type SPLCLIENT_INFO_1 struct {
    DwSize                 ndr.DWORD
    PMachineName           *ndr.WSTR `ndr:"unique"`
    PUserName              *ndr.WSTR `ndr:"unique"`
    DwBuildNum             ndr.DWORD
    DwMajorVersion         ndr.DWORD
    DwMinorVersion         ndr.DWORD
    WProcessorArchitecture uint16
}

type SPLCLIENT\_INFO\_2

SPLCLIENT_INFO_2 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type SPLCLIENT_INFO_2 struct {
    NotUsed LONG_PTR
}

type SPLCLIENT\_INFO\_3

SPLCLIENT_INFO_3 ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type SPLCLIENT_INFO_3 struct {
    CbSize                 uint32
    DwFlags                ndr.DWORD
    DwSize                 ndr.DWORD
    PMachineName           *ndr.WSTR `ndr:"unique"`
    PUserName              *ndr.WSTR `ndr:"unique"`
    DwBuildNum             ndr.DWORD
    DwMajorVersion         ndr.DWORD
    DwMinorVersion         ndr.DWORD
    WProcessorArchitecture uint16
    HSplPrinter            uint64
}

type STRING\_CONTAINER

STRING_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type STRING_CONTAINER struct {
    CbBuf     ndr.DWORD
    PszString []uint16 `ndr:"unique,conformant"`
}

type SYSTEMTIME

SYSTEMTIME is the [MS-DTYP] 2.3.13 calendar time: eight 16-bit fields. Referenced by the job/printer info structures but not defined in the MS-RPRN IDL.

type SYSTEMTIME struct {
    WYear         uint16
    WMonth        uint16
    WDayOfWeek    uint16
    WDay          uint16
    WHour         uint16
    WMinute       uint16
    WSecond       uint16
    WMilliseconds uint16
}

type SYSTEMTIME\_CONTAINER

SYSTEMTIME_CONTAINER ([MS-RPRN]). Generated by tools/idlgen; verify pointer/array tags.

type SYSTEMTIME_CONTAINER struct {
    CbBuf       ndr.DWORD
    PSystemTime *SYSTEMTIME `ndr:"unique"`
}