iremotewinspool

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	RemoteWinspoolSyntaxUUID = &uuid.UUID{TimeLow: 0x76f03f96, TimeMid: 0xcdfd, TimeHiAndVersion: 0x44fc, ClockSeqHiAndReserved: 0xa2, ClockSeqLow: 0x2c, Node: [6]uint8{0x64, 0x95, 0xa, 0x0, 0x12, 0x9}}
	// Syntax ID
	RemoteWinspoolSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: RemoteWinspoolSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "par"
)
View Source
var SplfileContentTypePropertyName = "Spool File Contents"

SplfileContentTypePropertyName represents the SPLFILE_CONTENT_TYPE_PROP_NAME RPC constant

View Source
var TableDevMode = 3

TableDevMode represents the TABLE_DEVMODE RPC constant

View Source
var TableDword = 1

TableDword represents the TABLE_DWORD RPC constant

View Source
var TableSecurityDescriptor = 5

TableSecurityDescriptor represents the TABLE_SECURITYDESCRIPTOR RPC constant

View Source
var TableString = 2

TableString represents the TABLE_STRING RPC constant

View Source
var TableTime = 4

TableTime represents the TABLE_TIME RPC constant

Functions

func NewRemoteWinspoolServerHandle

func NewRemoteWinspoolServerHandle(o RemoteWinspoolServer) dcerpc.ServerHandle

func RegisterRemoteWinspoolServer

func RegisterRemoteWinspoolServer(conn dcerpc.Conn, o RemoteWinspoolServer, opts ...dcerpc.Option)

func RemoteWinspoolServerHandle

func RemoteWinspoolServerHandle(ctx context.Context, o RemoteWinspoolServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

Types

type AbortPrinterRequest

type AbortPrinterRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
}

AbortPrinterRequest structure represents the RpcAsyncAbortPrinter operation request

func (*AbortPrinterRequest) MarshalNDR

func (o *AbortPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AbortPrinterRequest) UnmarshalNDR

func (o *AbortPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AbortPrinterResponse

type AbortPrinterResponse struct {
	// Return: The RpcAsyncAbortPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AbortPrinterResponse structure represents the RpcAsyncAbortPrinter operation response

func (*AbortPrinterResponse) MarshalNDR

func (o *AbortPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AbortPrinterResponse) UnmarshalNDR

func (o *AbortPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddFormRequest

type AddFormRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer           *Printer       `idl:"name:hPrinter" json:"printer"`
	FormInfoContainer *FormContainer `idl:"name:pFormInfoContainer" json:"form_info_container"`
}

AddFormRequest structure represents the RpcAsyncAddForm operation request

func (*AddFormRequest) MarshalNDR

func (o *AddFormRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddFormRequest) UnmarshalNDR

func (o *AddFormRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddFormResponse

type AddFormResponse struct {
	// Return: The RpcAsyncAddForm return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddFormResponse structure represents the RpcAsyncAddForm operation response

func (*AddFormResponse) MarshalNDR

func (o *AddFormResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddFormResponse) UnmarshalNDR

func (o *AddFormResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddJobRequest

type AddJobRequest struct {
	// hPrinter: A handle to a printer object that was opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer `idl:"name:hPrinter" json:"printer"`
	Level        uint32   `idl:"name:Level" json:"level"`
	AddJob       []byte   `idl:"name:pAddJob;size_is:(cbBuf);pointer:unique" json:"add_job"`
	BufferLength uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

AddJobRequest structure represents the RpcAsyncAddJob operation request

func (*AddJobRequest) MarshalNDR

func (o *AddJobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddJobRequest) UnmarshalNDR

func (o *AddJobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddJobResponse

type AddJobResponse struct {
	AddJob       []byte `idl:"name:pAddJob;size_is:(cbBuf);pointer:unique" json:"add_job"`
	NeededLength uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncAddJob return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddJobResponse structure represents the RpcAsyncAddJob operation response

func (*AddJobResponse) MarshalNDR

func (o *AddJobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddJobResponse) UnmarshalNDR

func (o *AddJobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddMonitorRequest

type AddMonitorRequest struct {
	Name             string            `idl:"name:Name;string;pointer:unique" json:"name"`
	MonitorContainer *MonitorContainer `idl:"name:pMonitorContainer" json:"monitor_container"`
}

AddMonitorRequest structure represents the RpcAsyncAddMonitor operation request

func (*AddMonitorRequest) MarshalNDR

func (o *AddMonitorRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddMonitorRequest) UnmarshalNDR

func (o *AddMonitorRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddMonitorResponse

type AddMonitorResponse struct {
	// Return: The RpcAsyncAddMonitor return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddMonitorResponse structure represents the RpcAsyncAddMonitor operation response

func (*AddMonitorResponse) MarshalNDR

func (o *AddMonitorResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddMonitorResponse) UnmarshalNDR

func (o *AddMonitorResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPerMachineConnectionRequest

type AddPerMachineConnectionRequest struct {
	Server      string `idl:"name:pServer;string;pointer:unique" json:"server"`
	PrinterName string `idl:"name:pPrinterName;string" json:"printer_name"`
	PrintServer string `idl:"name:pPrintServer;string" json:"print_server"`
	Provider    string `idl:"name:pProvider;string" json:"provider"`
}

AddPerMachineConnectionRequest structure represents the RpcAsyncAddPerMachineConnection operation request

func (*AddPerMachineConnectionRequest) MarshalNDR

func (*AddPerMachineConnectionRequest) UnmarshalNDR

type AddPerMachineConnectionResponse

type AddPerMachineConnectionResponse struct {
	// Return: The RpcAsyncAddPerMachineConnection return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddPerMachineConnectionResponse structure represents the RpcAsyncAddPerMachineConnection operation response

func (*AddPerMachineConnectionResponse) MarshalNDR

func (*AddPerMachineConnectionResponse) UnmarshalNDR

type AddPortRequest

type AddPortRequest struct {
	Name             string            `idl:"name:pName;string;pointer:unique" json:"name"`
	PortContainer    *PortContainer    `idl:"name:pPortContainer" json:"port_container"`
	PortVarContainer *PortVarContainer `idl:"name:pPortVarContainer" json:"port_var_container"`
	MonitorName      string            `idl:"name:pMonitorName;string" json:"monitor_name"`
}

AddPortRequest structure represents the RpcAsyncAddPort operation request

func (*AddPortRequest) MarshalNDR

func (o *AddPortRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPortRequest) UnmarshalNDR

func (o *AddPortRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPortResponse

type AddPortResponse struct {
	// Return: The RpcAsyncAddPort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddPortResponse structure represents the RpcAsyncAddPort operation response

func (*AddPortResponse) MarshalNDR

func (o *AddPortResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPortResponse) UnmarshalNDR

func (o *AddPortResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPrintProcessorRequest

type AddPrintProcessorRequest struct {
	Name               string `idl:"name:pName;string;pointer:unique" json:"name"`
	Environment        string `idl:"name:pEnvironment;string" json:"environment"`
	PathName           string `idl:"name:pPathName;string" json:"path_name"`
	PrintProcessorName string `idl:"name:pPrintProcessorName;string" json:"print_processor_name"`
}

AddPrintProcessorRequest structure represents the RpcAsyncAddPrintProcessor operation request

func (*AddPrintProcessorRequest) MarshalNDR

func (o *AddPrintProcessorRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPrintProcessorRequest) UnmarshalNDR

func (o *AddPrintProcessorRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPrintProcessorResponse

type AddPrintProcessorResponse struct {
	// Return: The RpcAsyncAddPrintProcessor return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddPrintProcessorResponse structure represents the RpcAsyncAddPrintProcessor operation response

func (*AddPrintProcessorResponse) MarshalNDR

func (o *AddPrintProcessorResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPrintProcessorResponse) UnmarshalNDR

func (o *AddPrintProcessorResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPrinterDriverRequest

type AddPrinterDriverRequest struct {
	Name            string           `idl:"name:pName;string;pointer:unique" json:"name"`
	DriverContainer *DriverContainer `idl:"name:pDriverContainer" json:"driver_container"`
	FileCopyFlags   uint32           `idl:"name:dwFileCopyFlags" json:"file_copy_flags"`
}

AddPrinterDriverRequest structure represents the RpcAsyncAddPrinterDriver operation request

func (*AddPrinterDriverRequest) MarshalNDR

func (o *AddPrinterDriverRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPrinterDriverRequest) UnmarshalNDR

func (o *AddPrinterDriverRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPrinterDriverResponse

type AddPrinterDriverResponse struct {
	// Return: The RpcAsyncAddPrinterDriver return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddPrinterDriverResponse structure represents the RpcAsyncAddPrinterDriver operation response

func (*AddPrinterDriverResponse) MarshalNDR

func (o *AddPrinterDriverResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPrinterDriverResponse) UnmarshalNDR

func (o *AddPrinterDriverResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPrinterRequest

type AddPrinterRequest struct {
	Name              string             `idl:"name:pName;string;pointer:unique" json:"name"`
	PrinterContainer  *PrinterContainer  `idl:"name:pPrinterContainer" json:"printer_container"`
	DevModeContainer  *DevModeContainer  `idl:"name:pDevModeContainer" json:"dev_mode_container"`
	SecurityContainer *SecurityContainer `idl:"name:pSecurityContainer" json:"security_container"`
	ClientInfo        *ClientContainer   `idl:"name:pClientInfo" json:"client_info"`
}

AddPrinterRequest structure represents the RpcAsyncAddPrinter operation request

func (*AddPrinterRequest) MarshalNDR

func (o *AddPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPrinterRequest) UnmarshalNDR

func (o *AddPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type AddPrinterResponse

type AddPrinterResponse struct {
	Handle *Printer `idl:"name:pHandle" json:"handle"`
	// Return: The RpcAsyncAddPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

AddPrinterResponse structure represents the RpcAsyncAddPrinter operation response

func (*AddPrinterResponse) MarshalNDR

func (o *AddPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AddPrinterResponse) UnmarshalNDR

func (o *AddPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type BIDIData

type BIDIData struct {
	BIDIType uint32          `idl:"name:dwBidiType" json:"bidi_type"`
	Union    *BIDIData_Union `idl:"name:u;switch_is:dwBidiType" json:"union"`
}

BIDIData structure represents RPC_BIDI_DATA RPC structure.

func (*BIDIData) MarshalNDR

func (o *BIDIData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIData) UnmarshalNDR

func (o *BIDIData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIData_Union

type BIDIData_Union struct {
	// Types that are assignable to Value
	//
	// *BIDIData_Union_BoolData
	// *BIDIData_Union_IntData
	// *BIDIData_Union_StringData
	// *BIDIData_Union_FloatData
	// *BIDIData_Union_BinaryData
	Value is_BIDIData_Union `json:"value"`
}

BIDIData_Union structure represents RPC_BIDI_DATA union anonymous member.

func (*BIDIData_Union) GetValue

func (o *BIDIData_Union) GetValue() any

func (*BIDIData_Union) MarshalUnionNDR

func (o *BIDIData_Union) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*BIDIData_Union) NDRSwitchValue

func (o *BIDIData_Union) NDRSwitchValue(sw uint32) uint32

func (*BIDIData_Union) UnmarshalUnionNDR

func (o *BIDIData_Union) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type BIDIData_Union_BinaryData

type BIDIData_Union_BinaryData struct {
	BinaryData *BinaryContainer `idl:"name:binaryData" json:"binary_data"`
}

BIDIData_Union_BinaryData structure represents BIDIData_Union RPC union arm.

It has following labels: 7

func (*BIDIData_Union_BinaryData) MarshalNDR

func (o *BIDIData_Union_BinaryData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIData_Union_BinaryData) UnmarshalNDR

func (o *BIDIData_Union_BinaryData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIData_Union_BoolData

type BIDIData_Union_BoolData struct {
	BoolData int32 `idl:"name:boolData" json:"bool_data"`
}

BIDIData_Union_BoolData structure represents BIDIData_Union RPC union arm.

It has following labels: 0, 3

func (*BIDIData_Union_BoolData) MarshalNDR

func (o *BIDIData_Union_BoolData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIData_Union_BoolData) UnmarshalNDR

func (o *BIDIData_Union_BoolData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIData_Union_FloatData

type BIDIData_Union_FloatData struct {
	FloatData float32 `idl:"name:floatData" json:"float_data"`
}

BIDIData_Union_FloatData structure represents BIDIData_Union RPC union arm.

It has following labels: 2

func (*BIDIData_Union_FloatData) MarshalNDR

func (o *BIDIData_Union_FloatData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIData_Union_FloatData) UnmarshalNDR

func (o *BIDIData_Union_FloatData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIData_Union_IntData

type BIDIData_Union_IntData struct {
	IntData int32 `idl:"name:intData" json:"int_data"`
}

BIDIData_Union_IntData structure represents BIDIData_Union RPC union arm.

It has following labels: 1

func (*BIDIData_Union_IntData) MarshalNDR

func (o *BIDIData_Union_IntData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIData_Union_IntData) UnmarshalNDR

func (o *BIDIData_Union_IntData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIData_Union_StringData

type BIDIData_Union_StringData struct {
	StringData string `idl:"name:stringData;string;pointer:unique" json:"string_data"`
}

BIDIData_Union_StringData structure represents BIDIData_Union RPC union arm.

It has following labels: 4, 5, 6

func (*BIDIData_Union_StringData) MarshalNDR

func (o *BIDIData_Union_StringData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIData_Union_StringData) UnmarshalNDR

func (o *BIDIData_Union_StringData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIRequestContainer

type BIDIRequestContainer struct {
	Version uint32             `idl:"name:Version" json:"version"`
	Flags   uint32             `idl:"name:Flags" json:"flags"`
	Count   uint32             `idl:"name:Count" json:"count"`
	Data    []*BIDIRequestData `idl:"name:aData;size_is:(Count);pointer:unique" json:"data"`
}

BIDIRequestContainer structure represents RPC_BIDI_REQUEST_CONTAINER RPC structure.

func (*BIDIRequestContainer) MarshalNDR

func (o *BIDIRequestContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIRequestContainer) NDRSizeInfo

func (o *BIDIRequestContainer) NDRSizeInfo() []uint64

func (*BIDIRequestContainer) UnmarshalNDR

func (o *BIDIRequestContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIRequestData

type BIDIRequestData struct {
	RequestNumber uint32    `idl:"name:dwReqNumber" json:"request_number"`
	Schema        string    `idl:"name:pSchema;string;pointer:unique" json:"schema"`
	Data          *BIDIData `idl:"name:data" json:"data"`
}

BIDIRequestData structure represents RPC_BIDI_REQUEST_DATA RPC structure.

func (*BIDIRequestData) MarshalNDR

func (o *BIDIRequestData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIRequestData) UnmarshalNDR

func (o *BIDIRequestData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIResponseContainer

type BIDIResponseContainer struct {
	Version uint32              `idl:"name:Version" json:"version"`
	Flags   uint32              `idl:"name:Flags" json:"flags"`
	Count   uint32              `idl:"name:Count" json:"count"`
	Data    []*BIDIResponseData `idl:"name:aData;size_is:(Count);pointer:unique" json:"data"`
}

BIDIResponseContainer structure represents RPC_BIDI_RESPONSE_CONTAINER RPC structure.

func (*BIDIResponseContainer) MarshalNDR

func (o *BIDIResponseContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIResponseContainer) NDRSizeInfo

func (o *BIDIResponseContainer) NDRSizeInfo() []uint64

func (*BIDIResponseContainer) UnmarshalNDR

func (o *BIDIResponseContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIResponseData

type BIDIResponseData struct {
	Result        uint32    `idl:"name:dwResult" json:"result"`
	RequestNumber uint32    `idl:"name:dwReqNumber" json:"request_number"`
	Schema        string    `idl:"name:pSchema;string;pointer:unique" json:"schema"`
	Data          *BIDIData `idl:"name:data" json:"data"`
}

BIDIResponseData structure represents RPC_BIDI_RESPONSE_DATA RPC structure.

func (*BIDIResponseData) MarshalNDR

func (o *BIDIResponseData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BIDIResponseData) UnmarshalNDR

func (o *BIDIResponseData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BIDIType

type BIDIType uint16

BIDIType type represents BIDI_TYPE RPC enumeration.

var (
	BIDITypeNull   BIDIType = 0
	BIDITypeInt    BIDIType = 1
	BIDITypeFloat  BIDIType = 2
	BIDITypeBool   BIDIType = 3
	BIDITypeString BIDIType = 4
	BIDITypeText   BIDIType = 5
	BIDITypeEnum   BIDIType = 6
	BIDITypeBlob   BIDIType = 7
)

func (BIDIType) String

func (o BIDIType) String() string

type BinaryContainer

type BinaryContainer struct {
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
	String       []byte `idl:"name:pszString;size_is:(cbBuf);pointer:unique" json:"string"`
}

BinaryContainer structure represents RPC_BINARY_CONTAINER RPC structure.

func (*BinaryContainer) MarshalNDR

func (o *BinaryContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BinaryContainer) UnmarshalNDR

func (o *BinaryContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BranchOfficeJobData

type BranchOfficeJobData struct {
	EventType BranchOfficeJobEventType     `idl:"name:eEventType" json:"event_type"`
	JobID     uint32                       `idl:"name:JobId" json:"job_id"`
	JobInfo   *BranchOfficeJobData_JobInfo `idl:"name:JobInfo;switch_is:eEventType" json:"job_info"`
}

BranchOfficeJobData structure represents RPC_BranchOfficeJobData RPC structure.

func (*BranchOfficeJobData) MarshalNDR

func (o *BranchOfficeJobData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BranchOfficeJobData) UnmarshalNDR

func (o *BranchOfficeJobData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BranchOfficeJobDataContainer

type BranchOfficeJobDataContainer struct {
	JobDataEntriesCount uint32                 `idl:"name:cJobDataEntries" json:"job_data_entries_count"`
	JobData             []*BranchOfficeJobData `idl:"name:JobData;size_is:(cJobDataEntries);pointer:unique" json:"job_data"`
}

BranchOfficeJobDataContainer structure represents RPC_BranchOfficeJobDataContainer RPC structure.

func (*BranchOfficeJobDataContainer) MarshalNDR

func (*BranchOfficeJobDataContainer) NDRSizeInfo

func (o *BranchOfficeJobDataContainer) NDRSizeInfo() []uint64

func (*BranchOfficeJobDataContainer) UnmarshalNDR

func (o *BranchOfficeJobDataContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BranchOfficeJobDataError

type BranchOfficeJobDataError struct {
	LastError        uint32 `idl:"name:LastError" json:"last_error"`
	DocumentName     string `idl:"name:pDocumentName;string" json:"document_name"`
	UserName         string `idl:"name:pUserName;string" json:"user_name"`
	PrinterName      string `idl:"name:pPrinterName;string" json:"printer_name"`
	DataType         string `idl:"name:pDataType;string" json:"data_type"`
	TotalSize        int64  `idl:"name:TotalSize" json:"total_size"`
	PrintedSize      int64  `idl:"name:PrintedSize" json:"printed_size"`
	TotalPages       uint32 `idl:"name:TotalPages" json:"total_pages"`
	PrintedPages     uint32 `idl:"name:PrintedPages" json:"printed_pages"`
	MachineName      string `idl:"name:pMachineName;string" json:"machine_name"`
	JobError         string `idl:"name:pJobError;string" json:"job_error"`
	ErrorDescription string `idl:"name:pErrorDescription;string" json:"error_description"`
}

BranchOfficeJobDataError structure represents RPC_BranchOfficeJobDataError RPC structure.

func (*BranchOfficeJobDataError) MarshalNDR

func (o *BranchOfficeJobDataError) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BranchOfficeJobDataError) UnmarshalNDR

func (o *BranchOfficeJobDataError) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BranchOfficeJobDataPipelineFailed

type BranchOfficeJobDataPipelineFailed struct {
	DocumentName   string `idl:"name:pDocumentName;string" json:"document_name"`
	PrinterName    string `idl:"name:pPrinterName;string" json:"printer_name"`
	ExtraErrorInfo string `idl:"name:pExtraErrorInfo;string" json:"extra_error_info"`
}

BranchOfficeJobDataPipelineFailed structure represents RPC_BranchOfficeJobDataPipelineFailed RPC structure.

func (*BranchOfficeJobDataPipelineFailed) MarshalNDR

func (*BranchOfficeJobDataPipelineFailed) UnmarshalNDR

type BranchOfficeJobDataPrinted

type BranchOfficeJobDataPrinted struct {
	Status       uint32 `idl:"name:Status" json:"status"`
	DocumentName string `idl:"name:pDocumentName;string" json:"document_name"`
	UserName     string `idl:"name:pUserName;string" json:"user_name"`
	MachineName  string `idl:"name:pMachineName;string" json:"machine_name"`
	PrinterName  string `idl:"name:pPrinterName;string" json:"printer_name"`
	PortName     string `idl:"name:pPortName;string" json:"port_name"`
	Size         int64  `idl:"name:Size" json:"size"`
	TotalPages   uint32 `idl:"name:TotalPages" json:"total_pages"`
}

BranchOfficeJobDataPrinted structure represents RPC_BranchOfficeJobDataPrinted RPC structure.

func (*BranchOfficeJobDataPrinted) MarshalNDR

func (o *BranchOfficeJobDataPrinted) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*BranchOfficeJobDataPrinted) UnmarshalNDR

func (o *BranchOfficeJobDataPrinted) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BranchOfficeJobDataRendered

type BranchOfficeJobDataRendered struct {
	Size         int64  `idl:"name:Size" json:"size"`
	ICMMethod    uint32 `idl:"name:ICMMethod" json:"icm_method"`
	Color        int16  `idl:"name:Color" json:"color"`
	PrintQuality int16  `idl:"name:PrintQuality" json:"print_quality"`
	YResolution  int16  `idl:"name:YResolution" json:"y_resolution"`
	Copies       int16  `idl:"name:Copies" json:"copies"`
	TTOption     int16  `idl:"name:TTOption" json:"tt_option"`
}

BranchOfficeJobDataRendered structure represents RPC_BranchOfficeJobDataRendered RPC structure.

func (*BranchOfficeJobDataRendered) MarshalNDR

func (*BranchOfficeJobDataRendered) UnmarshalNDR

func (o *BranchOfficeJobDataRendered) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type BranchOfficeJobData_JobInfo

type BranchOfficeJobData_JobInfo struct {
	// Types that are assignable to Value
	//
	// *BranchOfficeJobData_JobInfo_LogJobPrinted
	// *BranchOfficeJobData_JobInfo_LogJobRendered
	// *BranchOfficeJobData_JobInfo_LogJobError
	// *BranchOfficeJobData_JobInfo_LogPipelineFailed
	// *BranchOfficeJobData_JobInfo_LogOfflineFileFull
	Value is_BranchOfficeJobData_JobInfo `json:"value"`
}

BranchOfficeJobData_JobInfo structure represents RPC_BranchOfficeJobData union anonymous member.

func (*BranchOfficeJobData_JobInfo) GetValue

func (o *BranchOfficeJobData_JobInfo) GetValue() any

func (*BranchOfficeJobData_JobInfo) MarshalUnionNDR

func (o *BranchOfficeJobData_JobInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error

func (*BranchOfficeJobData_JobInfo) NDRSwitchValue

func (o *BranchOfficeJobData_JobInfo) NDRSwitchValue(sw uint16) uint16

func (*BranchOfficeJobData_JobInfo) UnmarshalUnionNDR

func (o *BranchOfficeJobData_JobInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error

type BranchOfficeJobData_JobInfo_LogJobError

type BranchOfficeJobData_JobInfo_LogJobError struct {
	LogJobError *BranchOfficeJobDataError `idl:"name:LogJobError" json:"log_job_error"`
}

BranchOfficeJobData_JobInfo_LogJobError structure represents BranchOfficeJobData_JobInfo RPC union arm.

It has following labels: 3

func (*BranchOfficeJobData_JobInfo_LogJobError) MarshalNDR

func (*BranchOfficeJobData_JobInfo_LogJobError) UnmarshalNDR

type BranchOfficeJobData_JobInfo_LogJobPrinted

type BranchOfficeJobData_JobInfo_LogJobPrinted struct {
	LogJobPrinted *BranchOfficeJobDataPrinted `idl:"name:LogJobPrinted" json:"log_job_printed"`
}

BranchOfficeJobData_JobInfo_LogJobPrinted structure represents BranchOfficeJobData_JobInfo RPC union arm.

It has following labels: 1

func (*BranchOfficeJobData_JobInfo_LogJobPrinted) MarshalNDR

func (*BranchOfficeJobData_JobInfo_LogJobPrinted) UnmarshalNDR

type BranchOfficeJobData_JobInfo_LogJobRendered

type BranchOfficeJobData_JobInfo_LogJobRendered struct {
	LogJobRendered *BranchOfficeJobDataRendered `idl:"name:LogJobRendered" json:"log_job_rendered"`
}

BranchOfficeJobData_JobInfo_LogJobRendered structure represents BranchOfficeJobData_JobInfo RPC union arm.

It has following labels: 2

func (*BranchOfficeJobData_JobInfo_LogJobRendered) MarshalNDR

func (*BranchOfficeJobData_JobInfo_LogJobRendered) UnmarshalNDR

type BranchOfficeJobData_JobInfo_LogOfflineFileFull

type BranchOfficeJobData_JobInfo_LogOfflineFileFull struct {
	LogOfflineFileFull *BranchOfficeLogOfflineFileFull `idl:"name:LogOfflineFileFull" json:"log_offline_file_full"`
}

BranchOfficeJobData_JobInfo_LogOfflineFileFull structure represents BranchOfficeJobData_JobInfo RPC union arm.

It has following labels: 5

func (*BranchOfficeJobData_JobInfo_LogOfflineFileFull) MarshalNDR

func (*BranchOfficeJobData_JobInfo_LogOfflineFileFull) UnmarshalNDR

type BranchOfficeJobData_JobInfo_LogPipelineFailed

type BranchOfficeJobData_JobInfo_LogPipelineFailed struct {
	LogPipelineFailed *BranchOfficeJobDataPipelineFailed `idl:"name:LogPipelineFailed" json:"log_pipeline_failed"`
}

BranchOfficeJobData_JobInfo_LogPipelineFailed structure represents BranchOfficeJobData_JobInfo RPC union arm.

It has following labels: 4

func (*BranchOfficeJobData_JobInfo_LogPipelineFailed) MarshalNDR

func (*BranchOfficeJobData_JobInfo_LogPipelineFailed) UnmarshalNDR

type BranchOfficeJobEventType

type BranchOfficeJobEventType uint16

BranchOfficeJobEventType type represents EBranchOfficeJobEventType RPC enumeration.

var (
	BranchOfficeJobEventTypeInvalidJobState     BranchOfficeJobEventType = 0
	BranchOfficeJobEventTypeLogJobPrinted       BranchOfficeJobEventType = 1
	BranchOfficeJobEventTypeLogJobRendered      BranchOfficeJobEventType = 2
	BranchOfficeJobEventTypeLogJobError         BranchOfficeJobEventType = 3
	BranchOfficeJobEventTypeLogJobPipelineError BranchOfficeJobEventType = 4
	BranchOfficeJobEventTypeLogOfflineFileFull  BranchOfficeJobEventType = 5
)

func (BranchOfficeJobEventType) String

func (o BranchOfficeJobEventType) String() string

type BranchOfficeLogOfflineFileFull

type BranchOfficeLogOfflineFileFull struct {
	MachineName string `idl:"name:pMachineName;string" json:"machine_name"`
}

BranchOfficeLogOfflineFileFull structure represents RPC_BranchOfficeLogOfflineFileFull RPC structure.

func (*BranchOfficeLogOfflineFileFull) MarshalNDR

func (*BranchOfficeLogOfflineFileFull) UnmarshalNDR

type ClientContainer

type ClientContainer struct {
	Level      uint32                      `idl:"name:Level" json:"level"`
	ClientInfo *ClientContainer_ClientInfo `idl:"name:ClientInfo;switch_is:Level" json:"client_info"`
}

ClientContainer structure represents SPLCLIENT_CONTAINER RPC structure.

func (*ClientContainer) MarshalNDR

func (o *ClientContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientContainer) UnmarshalNDR

func (o *ClientContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClientContainer_ClientInfo

type ClientContainer_ClientInfo struct {
	// Types that are assignable to Value
	//
	// *ClientContainer_ClientInfo_ClientInfo1
	// *ClientContainer_ClientInfo_NotUsed
	// *ClientContainer_ClientInfo_ClientInfo3
	Value is_ClientContainer_ClientInfo `json:"value"`
}

ClientContainer_ClientInfo structure represents SPLCLIENT_CONTAINER union anonymous member.

func (*ClientContainer_ClientInfo) GetValue

func (o *ClientContainer_ClientInfo) GetValue() any

func (*ClientContainer_ClientInfo) MarshalUnionNDR

func (o *ClientContainer_ClientInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*ClientContainer_ClientInfo) NDRSwitchValue

func (o *ClientContainer_ClientInfo) NDRSwitchValue(sw uint32) uint32

func (*ClientContainer_ClientInfo) UnmarshalUnionNDR

func (o *ClientContainer_ClientInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type ClientContainer_ClientInfo_ClientInfo1

type ClientContainer_ClientInfo_ClientInfo1 struct {
	ClientInfo1 *ClientInfo1 `idl:"name:pClientInfo1" json:"client_info1"`
}

ClientContainer_ClientInfo_ClientInfo1 structure represents ClientContainer_ClientInfo RPC union arm.

It has following labels: 1

func (*ClientContainer_ClientInfo_ClientInfo1) MarshalNDR

func (*ClientContainer_ClientInfo_ClientInfo1) UnmarshalNDR

type ClientContainer_ClientInfo_ClientInfo3

type ClientContainer_ClientInfo_ClientInfo3 struct {
	ClientInfo3 *ClientInfo3 `idl:"name:pClientInfo3" json:"client_info3"`
}

ClientContainer_ClientInfo_ClientInfo3 structure represents ClientContainer_ClientInfo RPC union arm.

It has following labels: 3

func (*ClientContainer_ClientInfo_ClientInfo3) MarshalNDR

func (*ClientContainer_ClientInfo_ClientInfo3) UnmarshalNDR

type ClientContainer_ClientInfo_NotUsed

type ClientContainer_ClientInfo_NotUsed struct {
	NotUsed *ClientInfo2 `idl:"name:pNotUsed" json:"not_used"`
}

ClientContainer_ClientInfo_NotUsed structure represents ClientContainer_ClientInfo RPC union arm.

It has following labels: 2

func (*ClientContainer_ClientInfo_NotUsed) MarshalNDR

func (*ClientContainer_ClientInfo_NotUsed) UnmarshalNDR

type ClientInfo1

type ClientInfo1 struct {
	Size                  uint32 `idl:"name:dwSize" json:"size"`
	MachineName           string `idl:"name:pMachineName;string" json:"machine_name"`
	UserName              string `idl:"name:pUserName;string" json:"user_name"`
	BuildNum              uint32 `idl:"name:dwBuildNum" json:"build_num"`
	MajorVersion          uint32 `idl:"name:dwMajorVersion" json:"major_version"`
	MinorVersion          uint32 `idl:"name:dwMinorVersion" json:"minor_version"`
	ProcessorArchitecture uint16 `idl:"name:wProcessorArchitecture" json:"processor_architecture"`
}

ClientInfo1 structure represents SPLCLIENT_INFO_1 RPC structure.

func (*ClientInfo1) MarshalNDR

func (o *ClientInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientInfo1) UnmarshalNDR

func (o *ClientInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClientInfo2

type ClientInfo2 struct {
	NotUsed int64 `idl:"name:notUsed" json:"not_used"`
}

ClientInfo2 structure represents SPLCLIENT_INFO_2 RPC structure.

func (*ClientInfo2) MarshalNDR

func (o *ClientInfo2) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientInfo2) UnmarshalNDR

func (o *ClientInfo2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClientInfo3

type ClientInfo3 struct {
	Length                uint32 `idl:"name:cbSize" json:"length"`
	Flags                 uint32 `idl:"name:dwFlags" json:"flags"`
	Size                  uint32 `idl:"name:dwSize" json:"size"`
	MachineName           string `idl:"name:pMachineName;string" json:"machine_name"`
	UserName              string `idl:"name:pUserName;string" json:"user_name"`
	BuildNum              uint32 `idl:"name:dwBuildNum" json:"build_num"`
	MajorVersion          uint32 `idl:"name:dwMajorVersion" json:"major_version"`
	MinorVersion          uint32 `idl:"name:dwMinorVersion" json:"minor_version"`
	ProcessorArchitecture uint16 `idl:"name:wProcessorArchitecture" json:"processor_architecture"`
	Printer               uint64 `idl:"name:hSplPrinter" json:"printer"`
}

ClientInfo3 structure represents SPLCLIENT_INFO_3 RPC structure.

func (*ClientInfo3) MarshalNDR

func (o *ClientInfo3) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientInfo3) UnmarshalNDR

func (o *ClientInfo3) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ClosePrinterRequest

type ClosePrinterRequest struct {
	// phPrinter: A pointer to the handle for a printer object, server object, job object,
	// or port object.
	Printer *Printer `idl:"name:phPrinter" json:"printer"`
}

ClosePrinterRequest structure represents the RpcAsyncClosePrinter operation request

func (*ClosePrinterRequest) MarshalNDR

func (o *ClosePrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClosePrinterRequest) UnmarshalNDR

func (o *ClosePrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ClosePrinterResponse

type ClosePrinterResponse struct {
	// phPrinter: A pointer to the handle for a printer object, server object, job object,
	// or port object.
	Printer *Printer `idl:"name:phPrinter" json:"printer"`
	// Return: The RpcAsyncClosePrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ClosePrinterResponse structure represents the RpcAsyncClosePrinter operation response

func (*ClosePrinterResponse) MarshalNDR

func (o *ClosePrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClosePrinterResponse) UnmarshalNDR

func (o *ClosePrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CorePrinterDriver

type CorePrinterDriver struct {
	// CoreDriverGUID: A GUID value ([MS-DTYP] sections 2.3.4, 2.3.4.2, and 2.3.4.3) that
	// uniquely identifies the package.
	CoreDriverGUID *dtyp.GUID `idl:"name:CoreDriverGUID" json:"core_driver_guid"`
	// ftDriverDate: A FILETIME value ([MS-DTYP] section 2.3.3) that specifies the date
	// this package was published.
	DriverDate *dtyp.Filetime `idl:"name:ftDriverDate" json:"driver_date"`
	// dwlDriverVersion: A 64-bit value that specifies the version of the core printer driver.
	// This version number MAY be used to match the driver version in the driver installation
	// control file.<5>
	DriverVersion uint64 `idl:"name:dwlDriverVersion" json:"driver_version"`
	// szPackageID: A string that specifies the package name. The server MUST generate a
	// unique package name when the package is uploaded using the RpcAsyncUploadPrinterDriverPackage
	// method (section 3.1.4.2.8). The length of the string MUST not exceed the maximum
	// path size, which is 260 characters, including a null-terminated character.
	PackageID []uint16 `idl:"name:szPackageID" json:"package_id"`
}

CorePrinterDriver structure represents CORE_PRINTER_DRIVER RPC structure.

The CORE_PRINTER_DRIVER structure specifies information that identifies a specific core printer driver. See the RpcAsyncGetCorePrinterDrivers method (section 3.1.4.2.9) for an example of its use.

func (*CorePrinterDriver) MarshalNDR

func (o *CorePrinterDriver) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CorePrinterDriver) UnmarshalNDR

func (o *CorePrinterDriver) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type CorePrinterDriverInstalledRequest

type CorePrinterDriverInstalledRequest struct {
	// pszServer: A pointer to a string that contains the name of the print server to check
	// and determine if a core printer driver is installed. This server name MUST be identical
	// to the server name that was used to create the hRemoteBinding parameter. For details
	// on RPC bind handles, see [MS-RPCE]. For rules governing print server names, see [MS-RPRN]
	// section 2.2.4.16.
	Server string `idl:"name:pszServer;string;pointer:unique" json:"server"`
	// pszEnvironment: A pointer to a string that contains the environment name of the core
	// printer driver. For rules governing environment names and behaviors, see [MS-RPRN]
	// section 2.2.4.4.
	Environment string `idl:"name:pszEnvironment;string" json:"environment"`
	// CoreDriverGUID: The GUID of the core printer driver.
	CoreDriverGUID *dtyp.GUID `idl:"name:CoreDriverGUID" json:"core_driver_guid"`
	// ftDriverDate: The date of the core printer driver.<23>
	DriverDate *dtyp.Filetime `idl:"name:ftDriverDate" json:"driver_date"`
	// dwlDriverVersion: The version<24> of the core printer driver.
	DriverVersion uint64 `idl:"name:dwlDriverVersion" json:"driver_version"`
}

CorePrinterDriverInstalledRequest structure represents the RpcAsyncCorePrinterDriverInstalled operation request

func (*CorePrinterDriverInstalledRequest) MarshalNDR

func (*CorePrinterDriverInstalledRequest) UnmarshalNDR

type CorePrinterDriverInstalledResponse

type CorePrinterDriverInstalledResponse struct {
	// pbDriverInstalled: A pointer to a variable that receives one of the following values.
	//
	//	+-------+-----------------------------------------------------------------+
	//	|       |                                                                 |
	//	| VALUE |                             MEANING                             |
	//	|       |                                                                 |
	//	+-------+-----------------------------------------------------------------+
	//	+-------+-----------------------------------------------------------------+
	//	|     0 | The driver, or a newer version of the driver, is not installed. |
	//	+-------+-----------------------------------------------------------------+
	//	|     1 | The driver, or a newer version of the driver, is installed.     |
	//	+-------+-----------------------------------------------------------------+
	DriverInstalled int32 `idl:"name:pbDriverInstalled" json:"driver_installed"`
	// Return: The RpcAsyncCorePrinterDriverInstalled return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CorePrinterDriverInstalledResponse structure represents the RpcAsyncCorePrinterDriverInstalled operation response

func (*CorePrinterDriverInstalledResponse) MarshalNDR

func (*CorePrinterDriverInstalledResponse) UnmarshalNDR

type CreatePrinterICRequest

type CreatePrinterICRequest struct {
	// hPrinter: A handle to a printer object ([MS-RPRN] section 2.2.1.1.4) that has been
	// opened using RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section
	// 3.1.4.1.2).
	Printer          *Printer          `idl:"name:hPrinter" json:"printer"`
	DevModeContainer *DevModeContainer `idl:"name:pDevModeContainer" json:"dev_mode_container"`
}

CreatePrinterICRequest structure represents the RpcAsyncCreatePrinterIC operation request

func (*CreatePrinterICRequest) MarshalNDR

func (o *CreatePrinterICRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CreatePrinterICRequest) UnmarshalNDR

func (o *CreatePrinterICRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CreatePrinterICResponse

type CreatePrinterICResponse struct {
	Handle *GDI `idl:"name:pHandle" json:"handle"`
	// Return: The RpcAsyncCreatePrinterIC return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

CreatePrinterICResponse structure represents the RpcAsyncCreatePrinterIC operation response

func (*CreatePrinterICResponse) MarshalNDR

func (o *CreatePrinterICResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CreatePrinterICResponse) UnmarshalNDR

func (o *CreatePrinterICResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteFormRequest

type DeleteFormRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer  *Printer `idl:"name:hPrinter" json:"printer"`
	FormName string   `idl:"name:pFormName;string" json:"form_name"`
}

DeleteFormRequest structure represents the RpcAsyncDeleteForm operation request

func (*DeleteFormRequest) MarshalNDR

func (o *DeleteFormRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteFormRequest) UnmarshalNDR

func (o *DeleteFormRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteFormResponse

type DeleteFormResponse struct {
	// Return: The RpcAsyncDeleteForm return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeleteFormResponse structure represents the RpcAsyncDeleteForm operation response

func (*DeleteFormResponse) MarshalNDR

func (o *DeleteFormResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteFormResponse) UnmarshalNDR

func (o *DeleteFormResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteJobNamedPropertyRequest

type DeleteJobNamedPropertyRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
	JobID   uint32   `idl:"name:JobId" json:"job_id"`
	Name    string   `idl:"name:pszName;string" json:"name"`
}

DeleteJobNamedPropertyRequest structure represents the RpcAsyncDeleteJobNamedProperty operation request

func (*DeleteJobNamedPropertyRequest) MarshalNDR

func (*DeleteJobNamedPropertyRequest) UnmarshalNDR

func (o *DeleteJobNamedPropertyRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteJobNamedPropertyResponse

type DeleteJobNamedPropertyResponse struct {
	// Return: The RpcAsyncDeleteJobNamedProperty return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeleteJobNamedPropertyResponse structure represents the RpcAsyncDeleteJobNamedProperty operation response

func (*DeleteJobNamedPropertyResponse) MarshalNDR

func (*DeleteJobNamedPropertyResponse) UnmarshalNDR

type DeleteMonitorRequest

type DeleteMonitorRequest struct {
	Name        string `idl:"name:Name;string;pointer:unique" json:"name"`
	Environment string `idl:"name:pEnvironment;string;pointer:unique" json:"environment"`
	MonitorName string `idl:"name:pMonitorName;string" json:"monitor_name"`
}

DeleteMonitorRequest structure represents the RpcAsyncDeleteMonitor operation request

func (*DeleteMonitorRequest) MarshalNDR

func (o *DeleteMonitorRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteMonitorRequest) UnmarshalNDR

func (o *DeleteMonitorRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteMonitorResponse

type DeleteMonitorResponse struct {
	// Return: The RpcAsyncDeleteMonitor return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeleteMonitorResponse structure represents the RpcAsyncDeleteMonitor operation response

func (*DeleteMonitorResponse) MarshalNDR

func (o *DeleteMonitorResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteMonitorResponse) UnmarshalNDR

func (o *DeleteMonitorResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePerMachineConnectionRequest

type DeletePerMachineConnectionRequest struct {
	Server      string `idl:"name:pServer;string;pointer:unique" json:"server"`
	PrinterName string `idl:"name:pPrinterName;string" json:"printer_name"`
}

DeletePerMachineConnectionRequest structure represents the RpcAsyncDeletePerMachineConnection operation request

func (*DeletePerMachineConnectionRequest) MarshalNDR

func (*DeletePerMachineConnectionRequest) UnmarshalNDR

type DeletePerMachineConnectionResponse

type DeletePerMachineConnectionResponse struct {
	// Return: The RpcAsyncDeletePerMachineConnection return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePerMachineConnectionResponse structure represents the RpcAsyncDeletePerMachineConnection operation response

func (*DeletePerMachineConnectionResponse) MarshalNDR

func (*DeletePerMachineConnectionResponse) UnmarshalNDR

type DeletePrintProcessorRequest

type DeletePrintProcessorRequest struct {
	Name               string `idl:"name:Name;string;pointer:unique" json:"name"`
	Environment        string `idl:"name:pEnvironment;string;pointer:unique" json:"environment"`
	PrintProcessorName string `idl:"name:pPrintProcessorName;string" json:"print_processor_name"`
}

DeletePrintProcessorRequest structure represents the RpcAsyncDeletePrintProcessor operation request

func (*DeletePrintProcessorRequest) MarshalNDR

func (*DeletePrintProcessorRequest) UnmarshalNDR

func (o *DeletePrintProcessorRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrintProcessorResponse

type DeletePrintProcessorResponse struct {
	// Return: The RpcAsyncDeletePrintProcessor return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrintProcessorResponse structure represents the RpcAsyncDeletePrintProcessor operation response

func (*DeletePrintProcessorResponse) MarshalNDR

func (*DeletePrintProcessorResponse) UnmarshalNDR

func (o *DeletePrintProcessorResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDataExRequest

type DeletePrinterDataExRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer   *Printer `idl:"name:hPrinter" json:"printer"`
	KeyName   string   `idl:"name:pKeyName;string" json:"key_name"`
	ValueName string   `idl:"name:pValueName;string" json:"value_name"`
}

DeletePrinterDataExRequest structure represents the RpcAsyncDeletePrinterDataEx operation request

func (*DeletePrinterDataExRequest) MarshalNDR

func (o *DeletePrinterDataExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterDataExRequest) UnmarshalNDR

func (o *DeletePrinterDataExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDataExResponse

type DeletePrinterDataExResponse struct {
	// Return: The RpcAsyncDeletePrinterDataEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrinterDataExResponse structure represents the RpcAsyncDeletePrinterDataEx operation response

func (*DeletePrinterDataExResponse) MarshalNDR

func (*DeletePrinterDataExResponse) UnmarshalNDR

func (o *DeletePrinterDataExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDataRequest

type DeletePrinterDataRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer   *Printer `idl:"name:hPrinter" json:"printer"`
	ValueName string   `idl:"name:pValueName;string" json:"value_name"`
}

DeletePrinterDataRequest structure represents the RpcAsyncDeletePrinterData operation request

func (*DeletePrinterDataRequest) MarshalNDR

func (o *DeletePrinterDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterDataRequest) UnmarshalNDR

func (o *DeletePrinterDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDataResponse

type DeletePrinterDataResponse struct {
	// Return: The RpcAsyncDeletePrinterData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrinterDataResponse structure represents the RpcAsyncDeletePrinterData operation response

func (*DeletePrinterDataResponse) MarshalNDR

func (o *DeletePrinterDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterDataResponse) UnmarshalNDR

func (o *DeletePrinterDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDriverExRequest

type DeletePrinterDriverExRequest struct {
	Name        string `idl:"name:pName;string;pointer:unique" json:"name"`
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	DriverName  string `idl:"name:pDriverName;string" json:"driver_name"`
	DeleteFlag  uint32 `idl:"name:dwDeleteFlag" json:"delete_flag"`
	VersionNum  uint32 `idl:"name:dwVersionNum" json:"version_num"`
}

DeletePrinterDriverExRequest structure represents the RpcAsyncDeletePrinterDriverEx operation request

func (*DeletePrinterDriverExRequest) MarshalNDR

func (*DeletePrinterDriverExRequest) UnmarshalNDR

func (o *DeletePrinterDriverExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDriverExResponse

type DeletePrinterDriverExResponse struct {
	// Return: The RpcAsyncDeletePrinterDriverEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrinterDriverExResponse structure represents the RpcAsyncDeletePrinterDriverEx operation response

func (*DeletePrinterDriverExResponse) MarshalNDR

func (*DeletePrinterDriverExResponse) UnmarshalNDR

func (o *DeletePrinterDriverExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDriverPackageRequest

type DeletePrinterDriverPackageRequest struct {
	// pszServer: A non-NULL pointer to a string that specifies the name of the print server
	// from which to delete the printer driver package. This string contains a server name
	// that is identical to the server name that was used to create the hRemoteBinding parameter.
	// For details on RPC bind handles, see [MS-RPCE]. For rules governing print server
	// names, see [MS-RPRN] section 2.2.4.16.
	Server string `idl:"name:pszServer;string;pointer:unique" json:"server"`
	// pszInfPath: A non-NULL pointer to a string that specifies the path name of a driver
	// installation control file that specifies the printer driver and MAY<28> be used to
	// delete the driver from the print server. For rules governing path names, see [MS-RPRN]
	// section 2.2.4.9.
	InfPath string `idl:"name:pszInfPath;string" json:"inf_path"`
	// pszEnvironment: A non-NULL pointer to a string that specifies the environment name
	// for which the driver will be deleted. For rules governing environment names, see
	// [MS-RPRN] section 2.2.4.4.
	Environment string `idl:"name:pszEnvironment;string" json:"environment"`
}

DeletePrinterDriverPackageRequest structure represents the RpcAsyncDeletePrinterDriverPackage operation request

func (*DeletePrinterDriverPackageRequest) MarshalNDR

func (*DeletePrinterDriverPackageRequest) UnmarshalNDR

type DeletePrinterDriverPackageResponse

type DeletePrinterDriverPackageResponse struct {
	// Return: The RpcAsyncDeletePrinterDriverPackage return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeletePrinterDriverPackageResponse structure represents the RpcAsyncDeletePrinterDriverPackage operation response

func (*DeletePrinterDriverPackageResponse) MarshalNDR

func (*DeletePrinterDriverPackageResponse) UnmarshalNDR

type DeletePrinterDriverRequest

type DeletePrinterDriverRequest struct {
	Name        string `idl:"name:pName;string;pointer:unique" json:"name"`
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	DriverName  string `idl:"name:pDriverName;string" json:"driver_name"`
}

DeletePrinterDriverRequest structure represents the RpcAsyncDeletePrinterDriver operation request

func (*DeletePrinterDriverRequest) MarshalNDR

func (o *DeletePrinterDriverRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterDriverRequest) UnmarshalNDR

func (o *DeletePrinterDriverRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterDriverResponse

type DeletePrinterDriverResponse struct {
	// Return: The RpcAsyncDeletePrinterDriver return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrinterDriverResponse structure represents the RpcAsyncDeletePrinterDriver operation response

func (*DeletePrinterDriverResponse) MarshalNDR

func (*DeletePrinterDriverResponse) UnmarshalNDR

func (o *DeletePrinterDriverResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterICRequest

type DeletePrinterICRequest struct {
	// phPrinterIC: A non-NULL pointer to a printer information context handle ([MS-RPRN]
	// section 2.2.1.1.2) that has been returned by RpcAsyncCreatePrinterIC (section 3.1.4.1.18).
	PrinterIC *GDI `idl:"name:phPrinterIC" json:"printer_ic"`
}

DeletePrinterICRequest structure represents the RpcAsyncDeletePrinterIC operation request

func (*DeletePrinterICRequest) MarshalNDR

func (o *DeletePrinterICRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterICRequest) UnmarshalNDR

func (o *DeletePrinterICRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterICResponse

type DeletePrinterICResponse struct {
	// phPrinterIC: A non-NULL pointer to a printer information context handle ([MS-RPRN]
	// section 2.2.1.1.2) that has been returned by RpcAsyncCreatePrinterIC (section 3.1.4.1.18).
	PrinterIC *GDI `idl:"name:phPrinterIC" json:"printer_ic"`
	// Return: The RpcAsyncDeletePrinterIC return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrinterICResponse structure represents the RpcAsyncDeletePrinterIC operation response

func (*DeletePrinterICResponse) MarshalNDR

func (o *DeletePrinterICResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterICResponse) UnmarshalNDR

func (o *DeletePrinterICResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterKeyRequest

type DeletePrinterKeyRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
	KeyName string   `idl:"name:pKeyName;string" json:"key_name"`
}

DeletePrinterKeyRequest structure represents the RpcAsyncDeletePrinterKey operation request

func (*DeletePrinterKeyRequest) MarshalNDR

func (o *DeletePrinterKeyRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterKeyRequest) UnmarshalNDR

func (o *DeletePrinterKeyRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterKeyResponse

type DeletePrinterKeyResponse struct {
	// Return: The RpcAsyncDeletePrinterKey return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrinterKeyResponse structure represents the RpcAsyncDeletePrinterKey operation response

func (*DeletePrinterKeyResponse) MarshalNDR

func (o *DeletePrinterKeyResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterKeyResponse) UnmarshalNDR

func (o *DeletePrinterKeyResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterRequest

type DeletePrinterRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
}

DeletePrinterRequest structure represents the RpcAsyncDeletePrinter operation request

func (*DeletePrinterRequest) MarshalNDR

func (o *DeletePrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterRequest) UnmarshalNDR

func (o *DeletePrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeletePrinterResponse

type DeletePrinterResponse struct {
	// Return: The RpcAsyncDeletePrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

DeletePrinterResponse structure represents the RpcAsyncDeletePrinter operation response

func (*DeletePrinterResponse) MarshalNDR

func (o *DeletePrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeletePrinterResponse) UnmarshalNDR

func (o *DeletePrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DevMode

type DevMode struct {
	DeviceName    []uint16 `idl:"name:dmDeviceName" json:"device_name"`
	SpecVersion   uint16   `idl:"name:dmSpecVersion" json:"spec_version"`
	DriverVersion uint16   `idl:"name:dmDriverVersion" json:"driver_version"`
	Size          uint16   `idl:"name:dmSize" json:"size"`
	DriverExtra   uint16   `idl:"name:dmDriverExtra" json:"driver_extra"`
	Fields        uint32   `idl:"name:dmFields" json:"fields"`
	Orientation   int16    `idl:"name:dmOrientation" json:"orientation"`
	PaperSize     int16    `idl:"name:dmPaperSize" json:"paper_size"`
	PaperLength   int16    `idl:"name:dmPaperLength" json:"paper_length"`
	PaperWidth    int16    `idl:"name:dmPaperWidth" json:"paper_width"`
	Scale         int16    `idl:"name:dmScale" json:"scale"`
	Copies        int16    `idl:"name:dmCopies" json:"copies"`
	DefaultSource int16    `idl:"name:dmDefaultSource" json:"default_source"`
	PrintQuality  int16    `idl:"name:dmPrintQuality" json:"print_quality"`
	Color         int16    `idl:"name:dmColor" json:"color"`
	Duplex        int16    `idl:"name:dmDuplex" json:"duplex"`
	YResolution   int16    `idl:"name:dmYResolution" json:"y_resolution"`
	TTOption      int16    `idl:"name:dmTTOption" json:"tt_option"`
	Collate       int16    `idl:"name:dmCollate" json:"collate"`
	FormName      []uint16 `idl:"name:dmFormName" json:"form_name"`

	NUp uint32 `idl:"name:dmNup" json:"nup"`

	ICMMethod  uint32 `idl:"name:dmICMMethod" json:"icm_method"`
	ICMIntent  uint32 `idl:"name:dmICMIntent" json:"icm_intent"`
	MediaType  uint32 `idl:"name:dmMediaType" json:"media_type"`
	DitherType uint32 `idl:"name:dmDitherType" json:"dither_type"`
	// contains filtered or unexported fields
}

DevMode structure represents DEVMODE RPC structure.

func (*DevMode) MarshalNDR

func (o *DevMode) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DevMode) UnmarshalNDR

func (o *DevMode) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DevModeContainer

type DevModeContainer struct {
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
	DevMode      []byte `idl:"name:pDevMode;size_is:(cbBuf);pointer:unique" json:"dev_mode"`
}

DevModeContainer structure represents DEVMODE_CONTAINER RPC structure.

func (*DevModeContainer) MarshalNDR

func (o *DevModeContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DevModeContainer) UnmarshalNDR

func (o *DevModeContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DocInfo1

type DocInfo1 struct {
	DocName    string `idl:"name:pDocName;string" json:"doc_name"`
	OutputFile string `idl:"name:pOutputFile;string" json:"output_file"`
	DataType   string `idl:"name:pDatatype;string" json:"data_type"`
}

DocInfo1 structure represents DOC_INFO_1 RPC structure.

func (*DocInfo1) MarshalNDR

func (o *DocInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DocInfo1) UnmarshalNDR

func (o *DocInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DocInfoContainer

type DocInfoContainer struct {
	Level   uint32                    `idl:"name:Level" json:"level"`
	DocInfo *DocInfoContainer_DocInfo `idl:"name:DocInfo;switch_is:Level" json:"doc_info"`
}

DocInfoContainer structure represents DOC_INFO_CONTAINER RPC structure.

func (*DocInfoContainer) MarshalNDR

func (o *DocInfoContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DocInfoContainer) UnmarshalNDR

func (o *DocInfoContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DocInfoContainer_DocInfo

type DocInfoContainer_DocInfo struct {
	// Types that are assignable to Value
	//
	// *DocInfoContainer_DocInfo1
	Value is_DocInfoContainer_DocInfo `json:"value"`
}

DocInfoContainer_DocInfo structure represents DOC_INFO_CONTAINER union anonymous member.

func (*DocInfoContainer_DocInfo) GetValue

func (o *DocInfoContainer_DocInfo) GetValue() any

func (*DocInfoContainer_DocInfo) MarshalUnionNDR

func (o *DocInfoContainer_DocInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*DocInfoContainer_DocInfo) NDRSwitchValue

func (o *DocInfoContainer_DocInfo) NDRSwitchValue(sw uint32) uint32

func (*DocInfoContainer_DocInfo) UnmarshalUnionNDR

func (o *DocInfoContainer_DocInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type DocInfoContainer_DocInfo1

type DocInfoContainer_DocInfo1 struct {
	DocInfo1 *DocInfo1 `idl:"name:pDocInfo1" json:"doc_info1"`
}

DocInfoContainer_DocInfo1 structure represents DocInfoContainer_DocInfo RPC union arm.

It has following labels: 1

func (*DocInfoContainer_DocInfo1) MarshalNDR

func (o *DocInfoContainer_DocInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DocInfoContainer_DocInfo1) UnmarshalNDR

func (o *DocInfoContainer_DocInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DriverContainer

type DriverContainer struct {
	Level      uint32                      `idl:"name:Level" json:"level"`
	DriverInfo *DriverContainer_DriverInfo `idl:"name:DriverInfo;switch_is:Level" json:"driver_info"`
}

DriverContainer structure represents DRIVER_CONTAINER RPC structure.

func (*DriverContainer) MarshalNDR

func (o *DriverContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DriverContainer) UnmarshalNDR

func (o *DriverContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DriverContainer_DriverInfo

type DriverContainer_DriverInfo struct {
	// Types that are assignable to Value
	//
	// *DriverContainer_DriverInfo_Level1
	// *DriverContainer_DriverInfo_Level2
	// *DriverContainer_DriverInfo_Level3
	// *DriverContainer_DriverInfo_Level4
	// *DriverContainer_DriverInfo_Level6
	// *DriverContainer_DriverInfo_Level8
	Value is_DriverContainer_DriverInfo `json:"value"`
}

DriverContainer_DriverInfo structure represents DRIVER_CONTAINER union anonymous member.

func (*DriverContainer_DriverInfo) GetValue

func (o *DriverContainer_DriverInfo) GetValue() any

func (*DriverContainer_DriverInfo) MarshalUnionNDR

func (o *DriverContainer_DriverInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*DriverContainer_DriverInfo) NDRSwitchValue

func (o *DriverContainer_DriverInfo) NDRSwitchValue(sw uint32) uint32

func (*DriverContainer_DriverInfo) UnmarshalUnionNDR

func (o *DriverContainer_DriverInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type DriverContainer_DriverInfo_Level1

type DriverContainer_DriverInfo_Level1 struct {
	Level1 *DriverInfo1 `idl:"name:Level1" json:"level1"`
}

DriverContainer_DriverInfo_Level1 structure represents DriverContainer_DriverInfo RPC union arm.

It has following labels: 1

func (*DriverContainer_DriverInfo_Level1) MarshalNDR

func (*DriverContainer_DriverInfo_Level1) UnmarshalNDR

type DriverContainer_DriverInfo_Level2

type DriverContainer_DriverInfo_Level2 struct {
	Level2 *DriverInfo2 `idl:"name:Level2" json:"level2"`
}

DriverContainer_DriverInfo_Level2 structure represents DriverContainer_DriverInfo RPC union arm.

It has following labels: 2

func (*DriverContainer_DriverInfo_Level2) MarshalNDR

func (*DriverContainer_DriverInfo_Level2) UnmarshalNDR

type DriverContainer_DriverInfo_Level3

type DriverContainer_DriverInfo_Level3 struct {
	Level3 *DriverInfo3 `idl:"name:Level3" json:"level3"`
}

DriverContainer_DriverInfo_Level3 structure represents DriverContainer_DriverInfo RPC union arm.

It has following labels: 3

func (*DriverContainer_DriverInfo_Level3) MarshalNDR

func (*DriverContainer_DriverInfo_Level3) UnmarshalNDR

type DriverContainer_DriverInfo_Level4

type DriverContainer_DriverInfo_Level4 struct {
	Level4 *DriverInfo4 `idl:"name:Level4" json:"level4"`
}

DriverContainer_DriverInfo_Level4 structure represents DriverContainer_DriverInfo RPC union arm.

It has following labels: 4

func (*DriverContainer_DriverInfo_Level4) MarshalNDR

func (*DriverContainer_DriverInfo_Level4) UnmarshalNDR

type DriverContainer_DriverInfo_Level6

type DriverContainer_DriverInfo_Level6 struct {
	Level6 *DriverInfo6 `idl:"name:Level6" json:"level6"`
}

DriverContainer_DriverInfo_Level6 structure represents DriverContainer_DriverInfo RPC union arm.

It has following labels: 6

func (*DriverContainer_DriverInfo_Level6) MarshalNDR

func (*DriverContainer_DriverInfo_Level6) UnmarshalNDR

type DriverContainer_DriverInfo_Level8

type DriverContainer_DriverInfo_Level8 struct {
	Level8 *DriverInfo8 `idl:"name:Level8" json:"level8"`
}

DriverContainer_DriverInfo_Level8 structure represents DriverContainer_DriverInfo RPC union arm.

It has following labels: 8

func (*DriverContainer_DriverInfo_Level8) MarshalNDR

func (*DriverContainer_DriverInfo_Level8) UnmarshalNDR

type DriverInfo1

type DriverInfo1 struct {
	// pName: A pointer to a string that specifies the name of the printer driver; for example,
	// "QMS 810". For rules governing printer driver names, see section 2.2.4.3.
	Name string `idl:"name:pName;string" json:"name"`
}

DriverInfo1 structure represents DRIVER_INFO_1 RPC structure.

This section describes members commonly used in DRIVER_INFO (section 2.2.1.5) and RPC_DRIVER_INFO (section 2.2.1.3.1) structures.

func (*DriverInfo1) MarshalNDR

func (o *DriverInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DriverInfo1) UnmarshalNDR

func (o *DriverInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DriverInfo2

type DriverInfo2 struct {
	// cVersion (4 bytes): A DWORD that has an implementation-specific value that identifies
	// the driver version and the operating system version for which the printer driver
	// was written. The driver version contained by each printer driver object in the "List
	// of Printer Drivers" is described in section 3.1.1.<13>
	VersionCount uint32 `idl:"name:cVersion" json:"version_count"`
	// pName: A pointer to a string that specifies the name of the printer driver; for example,
	// "QMS 810". For rules governing printer driver names, see section 2.2.4.3.
	Name string `idl:"name:pName;string" json:"name"`
	// pEnvironment: A pointer to a string that specifies the environment that the printer
	// driver supports. For rules governing environment names, see section 2.2.4.4.
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	// pDriverPath: A pointer to a string that specifies a file name or full path and file
	// name for the file that contains the printer driver. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DriverPath string `idl:"name:pDriverPath;string" json:"driver_path"`
	// pDataFile: A pointer to a string that specifies a file name or a full path and file
	// name for the file that contains printer driver data. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DataFile string `idl:"name:pDataFile;string" json:"data_file"`
	// pConfigFile: A pointer to a string that specifies a file name or a full path and
	// file name for the printer driver configuration module. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	ConfigFile string `idl:"name:pConfigFile;string" json:"config_file"`
}

DriverInfo2 structure represents DRIVER_INFO_2 RPC structure.

This section describes members commonly used in DRIVER_INFO (section 2.2.1.5) and RPC_DRIVER_INFO (section 2.2.1.3.1) structures.

func (*DriverInfo2) MarshalNDR

func (o *DriverInfo2) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DriverInfo2) UnmarshalNDR

func (o *DriverInfo2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DriverInfo3

type DriverInfo3 struct {
	// cVersion (4 bytes): A DWORD that has an implementation-specific value that identifies
	// the driver version and the operating system version for which the printer driver
	// was written. The driver version contained by each printer driver object in the "List
	// of Printer Drivers" is described in section 3.1.1.<13>
	VersionCount uint32 `idl:"name:cVersion" json:"version_count"`
	// pName: A pointer to a string that specifies the name of the printer driver; for example,
	// "QMS 810". For rules governing printer driver names, see section 2.2.4.3.
	Name string `idl:"name:pName;string" json:"name"`
	// pEnvironment: A pointer to a string that specifies the environment that the printer
	// driver supports. For rules governing environment names, see section 2.2.4.4.
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	// pDriverPath: A pointer to a string that specifies a file name or full path and file
	// name for the file that contains the printer driver. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DriverPath string `idl:"name:pDriverPath;string" json:"driver_path"`
	// pDataFile: A pointer to a string that specifies a file name or a full path and file
	// name for the file that contains printer driver data. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DataFile string `idl:"name:pDataFile;string" json:"data_file"`
	// pConfigFile: A pointer to a string that specifies a file name or a full path and
	// file name for the printer driver configuration module. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	ConfigFile string `idl:"name:pConfigFile;string" json:"config_file"`
	// pHelpFile: An optional pointer to a string that specifies a file name or a full path
	// and file name for the printer driver help file. For more information on driver files,
	// see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	HelpFile string `idl:"name:pHelpFile;string" json:"help_file"`
	// pMonitorName: An optional pointer to a string that specifies a language monitor.
	// For rules governing monitor names, see section 2.2.4.8.<14>
	MonitorName string `idl:"name:pMonitorName;string" json:"monitor_name"`
	// pDefaultDataType: An optional pointer to a string that specifies the default data
	// type of print jobs created with this driver (for example, enhanced metafile spool
	// format (EMFSPOOL) or RAW Format). For rules governing data type names, see section
	// 2.2.4.2.
	DefaultDataType string `idl:"name:pDefaultDataType;string" json:"default_data_type"`
	// cchDependentFiles: The number of characters in the multisz pointed to by pDependentFiles.
	DependentFilesLength uint32 `idl:"name:cchDependentFiles" json:"dependent_files_length"`
	// pDependentFiles: An optional pointer to a multisz that specifies the names of the
	// files that the printer driver is dependent on. If specified, this list MUST include
	// at least one file name and SHOULD be ordered as follows:
	//
	// * The file name of the printer driver manifest ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_566759dc-6e10-4b36-b710-f4296c1fbc83
	// ) , if present.
	//
	// * If the printer driver is a derived printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_3101a6be-4528-4314-afe4-ea9d26a106eb
	// ) , the names of all the files the derived printer driver depends on. If the printer
	// driver is not a derived printer driver, all of the other files the printer driver
	// depends on.
	//
	// * If the printer driver is a derived printer driver, the file name of the printer
	// driver manifest of the corresponding class printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_f4048a04-2516-44fc-ba42-2b5bee2782d5
	// ).
	//
	// * If the printer driver is a derived printer driver, the names of all of the files
	// the corresponding class printer driver depends on. <15> ( e81cbc09-ab05-4a32-ae4a-8ec57b436c43#Appendix_A_15
	// )
	DependentFiles string `idl:"name:pDependentFiles;size_is:(cchDependentFiles);pointer:unique" json:"dependent_files"`
}

DriverInfo3 structure represents RPC_DRIVER_INFO_3 RPC structure.

This section describes members commonly used in DRIVER_INFO (section 2.2.1.5) and RPC_DRIVER_INFO (section 2.2.1.3.1) structures.

func (*DriverInfo3) MarshalNDR

func (o *DriverInfo3) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DriverInfo3) UnmarshalNDR

func (o *DriverInfo3) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DriverInfo4

type DriverInfo4 struct {
	// cVersion (4 bytes): A DWORD that has an implementation-specific value that identifies
	// the driver version and the operating system version for which the printer driver
	// was written. The driver version contained by each printer driver object in the "List
	// of Printer Drivers" is described in section 3.1.1.<13>
	VersionCount uint32 `idl:"name:cVersion" json:"version_count"`
	// pName: A pointer to a string that specifies the name of the printer driver; for example,
	// "QMS 810". For rules governing printer driver names, see section 2.2.4.3.
	Name string `idl:"name:pName;string" json:"name"`
	// pEnvironment: A pointer to a string that specifies the environment that the printer
	// driver supports. For rules governing environment names, see section 2.2.4.4.
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	// pDriverPath: A pointer to a string that specifies a file name or full path and file
	// name for the file that contains the printer driver. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DriverPath string `idl:"name:pDriverPath;string" json:"driver_path"`
	// pDataFile: A pointer to a string that specifies a file name or a full path and file
	// name for the file that contains printer driver data. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DataFile string `idl:"name:pDataFile;string" json:"data_file"`
	// pConfigFile: A pointer to a string that specifies a file name or a full path and
	// file name for the printer driver configuration module. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	ConfigFile string `idl:"name:pConfigFile;string" json:"config_file"`
	// pHelpFile: An optional pointer to a string that specifies a file name or a full path
	// and file name for the printer driver help file. For more information on driver files,
	// see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	HelpFile string `idl:"name:pHelpFile;string" json:"help_file"`
	// pMonitorName: An optional pointer to a string that specifies a language monitor.
	// For rules governing monitor names, see section 2.2.4.8.<14>
	MonitorName string `idl:"name:pMonitorName;string" json:"monitor_name"`
	// pDefaultDataType: An optional pointer to a string that specifies the default data
	// type of print jobs created with this driver (for example, enhanced metafile spool
	// format (EMFSPOOL) or RAW Format). For rules governing data type names, see section
	// 2.2.4.2.
	DefaultDataType string `idl:"name:pDefaultDataType;string" json:"default_data_type"`
	// cchDependentFiles: The number of characters in the multisz pointed to by pDependentFiles.
	DependentFilesLength uint32 `idl:"name:cchDependentFiles" json:"dependent_files_length"`
	// pDependentFiles: An optional pointer to a multisz that specifies the names of the
	// files that the printer driver is dependent on. If specified, this list MUST include
	// at least one file name and SHOULD be ordered as follows:
	//
	// * The file name of the printer driver manifest ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_566759dc-6e10-4b36-b710-f4296c1fbc83
	// ) , if present.
	//
	// * If the printer driver is a derived printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_3101a6be-4528-4314-afe4-ea9d26a106eb
	// ) , the names of all the files the derived printer driver depends on. If the printer
	// driver is not a derived printer driver, all of the other files the printer driver
	// depends on.
	//
	// * If the printer driver is a derived printer driver, the file name of the printer
	// driver manifest of the corresponding class printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_f4048a04-2516-44fc-ba42-2b5bee2782d5
	// ).
	//
	// * If the printer driver is a derived printer driver, the names of all of the files
	// the corresponding class printer driver depends on. <15> ( e81cbc09-ab05-4a32-ae4a-8ec57b436c43#Appendix_A_15
	// )
	DependentFiles string `idl:"name:pDependentFiles;size_is:(cchDependentFiles);pointer:unique" json:"dependent_files"`
	// cchPreviousNames: The value of this member MUST be the number of characters in the
	// multisz pointed to by pszzPreviousNames.
	PreviousNamesLength uint32 `idl:"name:cchPreviousNames" json:"previous_names_length"`
	// pszzPreviousNames: An optional pointer to a multisz that specifies any previous printer
	// drivers that are compatible with this driver.
	PreviousNames string `idl:"name:pszzPreviousNames;size_is:(cchPreviousNames);pointer:unique" json:"previous_names"`
}

DriverInfo4 structure represents RPC_DRIVER_INFO_4 RPC structure.

This section describes members commonly used in DRIVER_INFO (section 2.2.1.5) and RPC_DRIVER_INFO (section 2.2.1.3.1) structures.

func (*DriverInfo4) MarshalNDR

func (o *DriverInfo4) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DriverInfo4) UnmarshalNDR

func (o *DriverInfo4) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DriverInfo6

type DriverInfo6 struct {
	// cVersion (4 bytes): A DWORD that has an implementation-specific value that identifies
	// the driver version and the operating system version for which the printer driver
	// was written. The driver version contained by each printer driver object in the "List
	// of Printer Drivers" is described in section 3.1.1.<13>
	VersionCount uint32 `idl:"name:cVersion" json:"version_count"`
	// pName: A pointer to a string that specifies the name of the printer driver; for example,
	// "QMS 810". For rules governing printer driver names, see section 2.2.4.3.
	Name string `idl:"name:pName;string" json:"name"`
	// pEnvironment: A pointer to a string that specifies the environment that the printer
	// driver supports. For rules governing environment names, see section 2.2.4.4.
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	// pDriverPath: A pointer to a string that specifies a file name or full path and file
	// name for the file that contains the printer driver. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DriverPath string `idl:"name:pDriverPath;string" json:"driver_path"`
	// pDataFile: A pointer to a string that specifies a file name or a full path and file
	// name for the file that contains printer driver data. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DataFile string `idl:"name:pDataFile;string" json:"data_file"`
	// pConfigFile: A pointer to a string that specifies a file name or a full path and
	// file name for the printer driver configuration module. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	ConfigFile string `idl:"name:pConfigFile;string" json:"config_file"`
	// pHelpFile: An optional pointer to a string that specifies a file name or a full path
	// and file name for the printer driver help file. For more information on driver files,
	// see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	HelpFile string `idl:"name:pHelpFile;string" json:"help_file"`
	// pMonitorName: An optional pointer to a string that specifies a language monitor.
	// For rules governing monitor names, see section 2.2.4.8.<14>
	MonitorName string `idl:"name:pMonitorName;string" json:"monitor_name"`
	// pDefaultDataType: An optional pointer to a string that specifies the default data
	// type of print jobs created with this driver (for example, enhanced metafile spool
	// format (EMFSPOOL) or RAW Format). For rules governing data type names, see section
	// 2.2.4.2.
	DefaultDataType string `idl:"name:pDefaultDataType;string" json:"default_data_type"`
	// cchDependentFiles: The number of characters in the multisz pointed to by pDependentFiles.
	DependentFilesLength uint32 `idl:"name:cchDependentFiles" json:"dependent_files_length"`
	// pDependentFiles: An optional pointer to a multisz that specifies the names of the
	// files that the printer driver is dependent on. If specified, this list MUST include
	// at least one file name and SHOULD be ordered as follows:
	//
	// * The file name of the printer driver manifest ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_566759dc-6e10-4b36-b710-f4296c1fbc83
	// ) , if present.
	//
	// * If the printer driver is a derived printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_3101a6be-4528-4314-afe4-ea9d26a106eb
	// ) , the names of all the files the derived printer driver depends on. If the printer
	// driver is not a derived printer driver, all of the other files the printer driver
	// depends on.
	//
	// * If the printer driver is a derived printer driver, the file name of the printer
	// driver manifest of the corresponding class printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_f4048a04-2516-44fc-ba42-2b5bee2782d5
	// ).
	//
	// * If the printer driver is a derived printer driver, the names of all of the files
	// the corresponding class printer driver depends on. <15> ( e81cbc09-ab05-4a32-ae4a-8ec57b436c43#Appendix_A_15
	// )
	DependentFiles string `idl:"name:pDependentFiles;size_is:(cchDependentFiles);pointer:unique" json:"dependent_files"`
	// cchPreviousNames: The value of this member MUST be the number of characters in the
	// multisz pointed to by pszzPreviousNames.
	PreviousNamesLength uint32 `idl:"name:cchPreviousNames" json:"previous_names_length"`
	// pszzPreviousNames: An optional pointer to a multisz that specifies any previous printer
	// drivers that are compatible with this driver.
	PreviousNames string `idl:"name:pszzPreviousNames;size_is:(cchPreviousNames);pointer:unique" json:"previous_names"`
	// ftDriverDate: The value of this member MUST be the manufacturer build date of the
	// printer driver. The FILETIME format is specified in [MS-DTYP] section 2.3.3.
	DriverDate *dtyp.Filetime `idl:"name:ftDriverDate" json:"driver_date"`
	// dwlDriverVersion: The printer driver version number. The format of this number is
	// specified by each printer driver manufacturer. A print client can use this value
	// to determine whether a printer driver on the print server matches the version available
	// on the client.<16>
	DriverVersion uint64 `idl:"name:dwlDriverVersion" json:"driver_version"`
	// pMfgName: An optional pointer to a string that specifies the manufacturer's name.
	ManufacturerName string `idl:"name:pMfgName;string" json:"manufacturer_name"`
	// pOEMUrl: An optional pointer to a string that specifies the URL for the manufacturer
	// of the printer driver.
	OEMURL string `idl:"name:pOEMUrl;string" json:"oem_url"`
	// pHardwareID: An optional pointer to a string that specifies the hardware identifier
	// for the printer driver.
	HardwareID string `idl:"name:pHardwareID;string" json:"hardware_id"`
	// pProvider: An optional pointer to a string that specifies the publisher of the printer
	// driver.
	Provider string `idl:"name:pProvider;string" json:"provider"`
}

DriverInfo6 structure represents RPC_DRIVER_INFO_6 RPC structure.

This section describes members commonly used in DRIVER_INFO (section 2.2.1.5) and RPC_DRIVER_INFO (section 2.2.1.3.1) structures.

func (*DriverInfo6) MarshalNDR

func (o *DriverInfo6) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DriverInfo6) UnmarshalNDR

func (o *DriverInfo6) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DriverInfo8

type DriverInfo8 struct {
	// cVersion (4 bytes): A DWORD that has an implementation-specific value that identifies
	// the driver version and the operating system version for which the printer driver
	// was written. The driver version contained by each printer driver object in the "List
	// of Printer Drivers" is described in section 3.1.1.<13>
	VersionCount uint32 `idl:"name:cVersion" json:"version_count"`
	// pName: A pointer to a string that specifies the name of the printer driver; for example,
	// "QMS 810". For rules governing printer driver names, see section 2.2.4.3.
	Name string `idl:"name:pName;string" json:"name"`
	// pEnvironment: A pointer to a string that specifies the environment that the printer
	// driver supports. For rules governing environment names, see section 2.2.4.4.
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	// pDriverPath: A pointer to a string that specifies a file name or full path and file
	// name for the file that contains the printer driver. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DriverPath string `idl:"name:pDriverPath;string" json:"driver_path"`
	// pDataFile: A pointer to a string that specifies a file name or a full path and file
	// name for the file that contains printer driver data. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	DataFile string `idl:"name:pDataFile;string" json:"data_file"`
	// pConfigFile: A pointer to a string that specifies a file name or a full path and
	// file name for the printer driver configuration module. For more information on driver
	// files, see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	ConfigFile string `idl:"name:pConfigFile;string" json:"config_file"`
	// pHelpFile: An optional pointer to a string that specifies a file name or a full path
	// and file name for the printer driver help file. For more information on driver files,
	// see [MSDN-MPD]. For rules governing path names, see section 2.2.4.9.
	HelpFile string `idl:"name:pHelpFile;string" json:"help_file"`
	// pMonitorName: An optional pointer to a string that specifies a language monitor.
	// For rules governing monitor names, see section 2.2.4.8.<14>
	MonitorName string `idl:"name:pMonitorName;string" json:"monitor_name"`
	// pDefaultDataType: An optional pointer to a string that specifies the default data
	// type of print jobs created with this driver (for example, enhanced metafile spool
	// format (EMFSPOOL) or RAW Format). For rules governing data type names, see section
	// 2.2.4.2.
	DefaultDataType string `idl:"name:pDefaultDataType;string" json:"default_data_type"`
	// cchDependentFiles: The number of characters in the multisz pointed to by pDependentFiles.
	DependentFilesLength uint32 `idl:"name:cchDependentFiles" json:"dependent_files_length"`
	// pDependentFiles: An optional pointer to a multisz that specifies the names of the
	// files that the printer driver is dependent on. If specified, this list MUST include
	// at least one file name and SHOULD be ordered as follows:
	//
	// * The file name of the printer driver manifest ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_566759dc-6e10-4b36-b710-f4296c1fbc83
	// ) , if present.
	//
	// * If the printer driver is a derived printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_3101a6be-4528-4314-afe4-ea9d26a106eb
	// ) , the names of all the files the derived printer driver depends on. If the printer
	// driver is not a derived printer driver, all of the other files the printer driver
	// depends on.
	//
	// * If the printer driver is a derived printer driver, the file name of the printer
	// driver manifest of the corresponding class printer driver ( 831cd729-be7c-451e-b729-bd8d84ce4d24#gt_f4048a04-2516-44fc-ba42-2b5bee2782d5
	// ).
	//
	// * If the printer driver is a derived printer driver, the names of all of the files
	// the corresponding class printer driver depends on. <15> ( e81cbc09-ab05-4a32-ae4a-8ec57b436c43#Appendix_A_15
	// )
	DependentFiles string `idl:"name:pDependentFiles;size_is:(cchDependentFiles);pointer:unique" json:"dependent_files"`
	// cchPreviousNames: The value of this member MUST be the number of characters in the
	// multisz pointed to by pszzPreviousNames.
	PreviousNamesLength uint32 `idl:"name:cchPreviousNames" json:"previous_names_length"`
	// pszzPreviousNames: An optional pointer to a multisz that specifies any previous printer
	// drivers that are compatible with this driver.
	PreviousNames string `idl:"name:pszzPreviousNames;size_is:(cchPreviousNames);pointer:unique" json:"previous_names"`
	// ftDriverDate: The value of this member MUST be the manufacturer build date of the
	// printer driver. The FILETIME format is specified in [MS-DTYP] section 2.3.3.
	DriverDate *dtyp.Filetime `idl:"name:ftDriverDate" json:"driver_date"`
	// dwlDriverVersion: The printer driver version number. The format of this number is
	// specified by each printer driver manufacturer. A print client can use this value
	// to determine whether a printer driver on the print server matches the version available
	// on the client.<16>
	DriverVersion uint64 `idl:"name:dwlDriverVersion" json:"driver_version"`
	// pMfgName: An optional pointer to a string that specifies the manufacturer's name.
	ManufacturerName string `idl:"name:pMfgName;string" json:"manufacturer_name"`
	// pOEMUrl: An optional pointer to a string that specifies the URL for the manufacturer
	// of the printer driver.
	OEMURL string `idl:"name:pOEMUrl;string" json:"oem_url"`
	// pHardwareID: An optional pointer to a string that specifies the hardware identifier
	// for the printer driver.
	HardwareID string `idl:"name:pHardwareID;string" json:"hardware_id"`
	// pProvider: An optional pointer to a string that specifies the publisher of the printer
	// driver.
	Provider                 string         `idl:"name:pProvider;string" json:"provider"`
	PrintProcessor           string         `idl:"name:pPrintProcessor;string" json:"print_processor"`
	VendorSetup              string         `idl:"name:pVendorSetup;string" json:"vendor_setup"`
	ColorProfilesLength      uint32         `idl:"name:cchColorProfiles" json:"color_profiles_length"`
	ColorProfiles            string         `idl:"name:pszzColorProfiles;size_is:(cchColorProfiles);pointer:unique" json:"color_profiles"`
	InfPath                  string         `idl:"name:pInfPath;string" json:"inf_path"`
	PrinterDriverAttributes  uint32         `idl:"name:dwPrinterDriverAttributes" json:"printer_driver_attributes"`
	CoreDependenciesLength   uint32         `idl:"name:cchCoreDependencies" json:"core_dependencies_length"`
	CoreDriverDependencies   string         `idl:"name:pszzCoreDriverDependencies;size_is:(cchCoreDependencies);pointer:unique" json:"core_driver_dependencies"`
	MinInboxDriverVerDate    *dtyp.Filetime `idl:"name:ftMinInboxDriverVerDate" json:"min_inbox_driver_ver_date"`
	MinInboxDriverVerVersion uint64         `idl:"name:dwlMinInboxDriverVerVersion" json:"min_inbox_driver_ver_version"`
}

DriverInfo8 structure represents RPC_DRIVER_INFO_8 RPC structure.

This section describes members commonly used in DRIVER_INFO (section 2.2.1.5) and RPC_DRIVER_INFO (section 2.2.1.3.1) structures.

func (*DriverInfo8) MarshalNDR

func (o *DriverInfo8) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DriverInfo8) UnmarshalNDR

func (o *DriverInfo8) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type EndDocPrinterRequest

type EndDocPrinterRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
}

EndDocPrinterRequest structure represents the RpcAsyncEndDocPrinter operation request

func (*EndDocPrinterRequest) MarshalNDR

func (o *EndDocPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndDocPrinterRequest) UnmarshalNDR

func (o *EndDocPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndDocPrinterResponse

type EndDocPrinterResponse struct {
	// Return: The RpcAsyncEndDocPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EndDocPrinterResponse structure represents the RpcAsyncEndDocPrinter operation response

func (*EndDocPrinterResponse) MarshalNDR

func (o *EndDocPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndDocPrinterResponse) UnmarshalNDR

func (o *EndDocPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndPagePrinterRequest

type EndPagePrinterRequest struct {
	// hPrinter: A handle to a printer object that was opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
}

EndPagePrinterRequest structure represents the RpcAsyncEndPagePrinter operation request

func (*EndPagePrinterRequest) MarshalNDR

func (o *EndPagePrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndPagePrinterRequest) UnmarshalNDR

func (o *EndPagePrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EndPagePrinterResponse

type EndPagePrinterResponse struct {
	// Return: The RpcAsyncEndPagePrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EndPagePrinterResponse structure represents the RpcAsyncEndPagePrinter operation response

func (*EndPagePrinterResponse) MarshalNDR

func (o *EndPagePrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EndPagePrinterResponse) UnmarshalNDR

func (o *EndPagePrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumFormsRequest

type EnumFormsRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer `idl:"name:hPrinter" json:"printer"`
	Level        uint32   `idl:"name:Level" json:"level"`
	Form         []byte   `idl:"name:pForm;size_is:(cbBuf);pointer:unique" json:"form"`
	BufferLength uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

EnumFormsRequest structure represents the RpcAsyncEnumForms operation request

func (*EnumFormsRequest) MarshalNDR

func (o *EnumFormsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumFormsRequest) UnmarshalNDR

func (o *EnumFormsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumFormsResponse

type EnumFormsResponse struct {
	Form          []byte `idl:"name:pForm;size_is:(cbBuf);pointer:unique" json:"form"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumForms return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumFormsResponse structure represents the RpcAsyncEnumForms operation response

func (*EnumFormsResponse) MarshalNDR

func (o *EnumFormsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumFormsResponse) UnmarshalNDR

func (o *EnumFormsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobNamedPropertiesRequest

type EnumJobNamedPropertiesRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
	JobID   uint32   `idl:"name:JobId" json:"job_id"`
}

EnumJobNamedPropertiesRequest structure represents the RpcAsyncEnumJobNamedProperties operation request

func (*EnumJobNamedPropertiesRequest) MarshalNDR

func (*EnumJobNamedPropertiesRequest) UnmarshalNDR

func (o *EnumJobNamedPropertiesRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobNamedPropertiesResponse

type EnumJobNamedPropertiesResponse struct {
	PropertiesCount uint32                   `idl:"name:pcProperties" json:"properties_count"`
	Properties      []*PrintJobNamedProperty `idl:"name:ppProperties;size_is:(, pcProperties)" json:"properties"`
	// Return: The RpcAsyncEnumJobNamedProperties return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumJobNamedPropertiesResponse structure represents the RpcAsyncEnumJobNamedProperties operation response

func (*EnumJobNamedPropertiesResponse) MarshalNDR

func (*EnumJobNamedPropertiesResponse) UnmarshalNDR

type EnumJobsRequest

type EnumJobsRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer `idl:"name:hPrinter" json:"printer"`
	FirstJob     uint32   `idl:"name:FirstJob" json:"first_job"`
	NoJobs       uint32   `idl:"name:NoJobs" json:"no_jobs"`
	Level        uint32   `idl:"name:Level" json:"level"`
	Job          []byte   `idl:"name:pJob;size_is:(cbBuf);pointer:unique" json:"job"`
	BufferLength uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

EnumJobsRequest structure represents the RpcAsyncEnumJobs operation request

func (*EnumJobsRequest) MarshalNDR

func (o *EnumJobsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsRequest) UnmarshalNDR

func (o *EnumJobsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumJobsResponse

type EnumJobsResponse struct {
	Job           []byte `idl:"name:pJob;size_is:(cbBuf);pointer:unique" json:"job"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumJobs return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumJobsResponse structure represents the RpcAsyncEnumJobs operation response

func (*EnumJobsResponse) MarshalNDR

func (o *EnumJobsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumJobsResponse) UnmarshalNDR

func (o *EnumJobsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumMonitorsRequest

type EnumMonitorsRequest struct {
	Name         string `idl:"name:pName;string;pointer:unique" json:"name"`
	Level        uint32 `idl:"name:Level" json:"level"`
	Monitor      []byte `idl:"name:pMonitor;size_is:(cbBuf);pointer:unique" json:"monitor"`
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

EnumMonitorsRequest structure represents the RpcAsyncEnumMonitors operation request

func (*EnumMonitorsRequest) MarshalNDR

func (o *EnumMonitorsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumMonitorsRequest) UnmarshalNDR

func (o *EnumMonitorsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumMonitorsResponse

type EnumMonitorsResponse struct {
	Monitor       []byte `idl:"name:pMonitor;size_is:(cbBuf);pointer:unique" json:"monitor"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumMonitors return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumMonitorsResponse structure represents the RpcAsyncEnumMonitors operation response

func (*EnumMonitorsResponse) MarshalNDR

func (o *EnumMonitorsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumMonitorsResponse) UnmarshalNDR

func (o *EnumMonitorsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPerMachineConnectionsRequest

type EnumPerMachineConnectionsRequest struct {
	Server       string `idl:"name:pServer;string;pointer:unique" json:"server"`
	PrinterEnum  []byte `idl:"name:pPrinterEnum;size_is:(cbBuf);pointer:unique" json:"printer_enum"`
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

EnumPerMachineConnectionsRequest structure represents the RpcAsyncEnumPerMachineConnections operation request

func (*EnumPerMachineConnectionsRequest) MarshalNDR

func (*EnumPerMachineConnectionsRequest) UnmarshalNDR

type EnumPerMachineConnectionsResponse

type EnumPerMachineConnectionsResponse struct {
	PrinterEnum   []byte `idl:"name:pPrinterEnum;size_is:(cbBuf);pointer:unique" json:"printer_enum"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumPerMachineConnections return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPerMachineConnectionsResponse structure represents the RpcAsyncEnumPerMachineConnections operation response

func (*EnumPerMachineConnectionsResponse) MarshalNDR

func (*EnumPerMachineConnectionsResponse) UnmarshalNDR

type EnumPortsRequest

type EnumPortsRequest struct {
	Name         string `idl:"name:pName;string;pointer:unique" json:"name"`
	Level        uint32 `idl:"name:Level" json:"level"`
	Port         []byte `idl:"name:pPort;size_is:(cbBuf);pointer:unique" json:"port"`
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

EnumPortsRequest structure represents the RpcAsyncEnumPorts operation request

func (*EnumPortsRequest) MarshalNDR

func (o *EnumPortsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPortsRequest) UnmarshalNDR

func (o *EnumPortsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPortsResponse

type EnumPortsResponse struct {
	Port          []byte `idl:"name:pPort;size_is:(cbBuf);pointer:unique" json:"port"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumPorts return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPortsResponse structure represents the RpcAsyncEnumPorts operation response

func (*EnumPortsResponse) MarshalNDR

func (o *EnumPortsResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPortsResponse) UnmarshalNDR

func (o *EnumPortsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrintProcessorDataTypesRequest

type EnumPrintProcessorDataTypesRequest struct {
	Name               string `idl:"name:pName;string;pointer:unique" json:"name"`
	PrintProcessorName string `idl:"name:pPrintProcessorName;string;pointer:unique" json:"print_processor_name"`
	Level              uint32 `idl:"name:Level" json:"level"`
	DataTypes          []byte `idl:"name:pDatatypes;size_is:(cbBuf);pointer:unique" json:"data_types"`
	BufferLength       uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

EnumPrintProcessorDataTypesRequest structure represents the RpcAsyncEnumPrintProcessorDatatypes operation request

func (*EnumPrintProcessorDataTypesRequest) MarshalNDR

func (*EnumPrintProcessorDataTypesRequest) UnmarshalNDR

type EnumPrintProcessorDataTypesResponse

type EnumPrintProcessorDataTypesResponse struct {
	DataTypes     []byte `idl:"name:pDatatypes;size_is:(cbBuf);pointer:unique" json:"data_types"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumPrintProcessorDatatypes return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPrintProcessorDataTypesResponse structure represents the RpcAsyncEnumPrintProcessorDatatypes operation response

func (*EnumPrintProcessorDataTypesResponse) MarshalNDR

func (*EnumPrintProcessorDataTypesResponse) UnmarshalNDR

type EnumPrintProcessorsRequest

type EnumPrintProcessorsRequest struct {
	Name               string `idl:"name:pName;string;pointer:unique" json:"name"`
	Environment        string `idl:"name:pEnvironment;string;pointer:unique" json:"environment"`
	Level              uint32 `idl:"name:Level" json:"level"`
	PrintProcessorInfo []byte `idl:"name:pPrintProcessorInfo;size_is:(cbBuf);pointer:unique" json:"print_processor_info"`
	BufferLength       uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

EnumPrintProcessorsRequest structure represents the RpcAsyncEnumPrintProcessors operation request

func (*EnumPrintProcessorsRequest) MarshalNDR

func (o *EnumPrintProcessorsRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrintProcessorsRequest) UnmarshalNDR

func (o *EnumPrintProcessorsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrintProcessorsResponse

type EnumPrintProcessorsResponse struct {
	PrintProcessorInfo []byte `idl:"name:pPrintProcessorInfo;size_is:(cbBuf);pointer:unique" json:"print_processor_info"`
	NeededLength       uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount      uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumPrintProcessors return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPrintProcessorsResponse structure represents the RpcAsyncEnumPrintProcessors operation response

func (*EnumPrintProcessorsResponse) MarshalNDR

func (*EnumPrintProcessorsResponse) UnmarshalNDR

func (o *EnumPrintProcessorsResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterDataExRequest

type EnumPrinterDataExRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer            *Printer `idl:"name:hPrinter" json:"printer"`
	KeyName            string   `idl:"name:pKeyName;string" json:"key_name"`
	EnumValuesInLength uint32   `idl:"name:cbEnumValuesIn" json:"enum_values_in_length"`
}

EnumPrinterDataExRequest structure represents the RpcAsyncEnumPrinterDataEx operation request

func (*EnumPrinterDataExRequest) MarshalNDR

func (o *EnumPrinterDataExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterDataExRequest) UnmarshalNDR

func (o *EnumPrinterDataExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterDataExResponse

type EnumPrinterDataExResponse struct {
	EnumValues          []byte `idl:"name:pEnumValues;size_is:(cbEnumValuesIn)" json:"enum_values"`
	EnumValuesOutLength uint32 `idl:"name:pcbEnumValuesOut" json:"enum_values_out_length"`
	EnumValuesLength    uint32 `idl:"name:numEnumValues" json:"enum_values_length"`
	// Return: The RpcAsyncEnumPrinterDataEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPrinterDataExResponse structure represents the RpcAsyncEnumPrinterDataEx operation response

func (*EnumPrinterDataExResponse) MarshalNDR

func (o *EnumPrinterDataExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterDataExResponse) UnmarshalNDR

func (o *EnumPrinterDataExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterDataRequest

type EnumPrinterDataRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer           *Printer `idl:"name:hPrinter" json:"printer"`
	Index             uint32   `idl:"name:dwIndex" json:"index"`
	ValueNameInLength uint32   `idl:"name:cbValueNameIn" json:"value_name_in_length"`
	DataInLength      uint32   `idl:"name:cbDataIn" json:"data_in_length"`
}

EnumPrinterDataRequest structure represents the RpcAsyncEnumPrinterData operation request

func (*EnumPrinterDataRequest) MarshalNDR

func (o *EnumPrinterDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterDataRequest) UnmarshalNDR

func (o *EnumPrinterDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterDataResponse

type EnumPrinterDataResponse struct {
	ValueName          string `idl:"name:pValueName;size_is:((cbValueNameIn/2))" json:"value_name"`
	ValueNameOutLength uint32 `idl:"name:pcbValueNameOut" json:"value_name_out_length"`
	Type               uint32 `idl:"name:pType" json:"type"`
	Data               []byte `idl:"name:pData;size_is:(cbDataIn)" json:"data"`
	DataOutLength      uint32 `idl:"name:pcbDataOut" json:"data_out_length"`
	// Return: The RpcAsyncEnumPrinterData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPrinterDataResponse structure represents the RpcAsyncEnumPrinterData operation response

func (*EnumPrinterDataResponse) MarshalNDR

func (o *EnumPrinterDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterDataResponse) UnmarshalNDR

func (o *EnumPrinterDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterDriversRequest

type EnumPrinterDriversRequest struct {
	Name         string `idl:"name:pName;string;pointer:unique" json:"name"`
	Environment  string `idl:"name:pEnvironment;string;pointer:unique" json:"environment"`
	Level        uint32 `idl:"name:Level" json:"level"`
	Drivers      []byte `idl:"name:pDrivers;size_is:(cbBuf);pointer:unique" json:"drivers"`
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

EnumPrinterDriversRequest structure represents the RpcAsyncEnumPrinterDrivers operation request

func (*EnumPrinterDriversRequest) MarshalNDR

func (o *EnumPrinterDriversRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterDriversRequest) UnmarshalNDR

func (o *EnumPrinterDriversRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterDriversResponse

type EnumPrinterDriversResponse struct {
	Drivers       []byte `idl:"name:pDrivers;size_is:(cbBuf);pointer:unique" json:"drivers"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumPrinterDrivers return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPrinterDriversResponse structure represents the RpcAsyncEnumPrinterDrivers operation response

func (*EnumPrinterDriversResponse) MarshalNDR

func (o *EnumPrinterDriversResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterDriversResponse) UnmarshalNDR

func (o *EnumPrinterDriversResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterKeyRequest

type EnumPrinterKeyRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer        *Printer `idl:"name:hPrinter" json:"printer"`
	KeyName        string   `idl:"name:pKeyName;string" json:"key_name"`
	SubkeyInLength uint32   `idl:"name:cbSubkeyIn" json:"subkey_in_length"`
}

EnumPrinterKeyRequest structure represents the RpcAsyncEnumPrinterKey operation request

func (*EnumPrinterKeyRequest) MarshalNDR

func (o *EnumPrinterKeyRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterKeyRequest) UnmarshalNDR

func (o *EnumPrinterKeyRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrinterKeyResponse

type EnumPrinterKeyResponse struct {
	Subkey          string `idl:"name:pSubkey;size_is:((cbSubkeyIn/2))" json:"subkey"`
	SubkeyOutLength uint32 `idl:"name:pcbSubkeyOut" json:"subkey_out_length"`
	// Return: The RpcAsyncEnumPrinterKey return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPrinterKeyResponse structure represents the RpcAsyncEnumPrinterKey operation response

func (*EnumPrinterKeyResponse) MarshalNDR

func (o *EnumPrinterKeyResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrinterKeyResponse) UnmarshalNDR

func (o *EnumPrinterKeyResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrintersRequest

type EnumPrintersRequest struct {
	Flags        uint32 `idl:"name:Flags" json:"flags"`
	Name         string `idl:"name:Name;string;pointer:unique" json:"name"`
	Level        uint32 `idl:"name:Level" json:"level"`
	PrinterEnum  []byte `idl:"name:pPrinterEnum;size_is:(cbBuf);pointer:unique" json:"printer_enum"`
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

EnumPrintersRequest structure represents the RpcAsyncEnumPrinters operation request

func (*EnumPrintersRequest) MarshalNDR

func (o *EnumPrintersRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrintersRequest) UnmarshalNDR

func (o *EnumPrintersRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumPrintersResponse

type EnumPrintersResponse struct {
	PrinterEnum   []byte `idl:"name:pPrinterEnum;size_is:(cbBuf);pointer:unique" json:"printer_enum"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ReturnedCount uint32 `idl:"name:pcReturned" json:"returned_count"`
	// Return: The RpcAsyncEnumPrinters return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

EnumPrintersResponse structure represents the RpcAsyncEnumPrinters operation response

func (*EnumPrintersResponse) MarshalNDR

func (o *EnumPrintersResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*EnumPrintersResponse) UnmarshalNDR

func (o *EnumPrintersResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type FormContainer

type FormContainer struct {
	Level    uint32                  `idl:"name:Level" json:"level"`
	FormInfo *FormContainer_FormInfo `idl:"name:FormInfo;switch_is:Level" json:"form_info"`
}

FormContainer structure represents FORM_CONTAINER RPC structure.

func (*FormContainer) MarshalNDR

func (o *FormContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*FormContainer) UnmarshalNDR

func (o *FormContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type FormContainer_FormInfo

type FormContainer_FormInfo struct {
	// Types that are assignable to Value
	//
	// *FormContainer_FormInfo_FormInfo1
	// *FormContainer_FormInfo_FormInfo2
	Value is_FormContainer_FormInfo `json:"value"`
}

FormContainer_FormInfo structure represents FORM_CONTAINER union anonymous member.

func (*FormContainer_FormInfo) GetValue

func (o *FormContainer_FormInfo) GetValue() any

func (*FormContainer_FormInfo) MarshalUnionNDR

func (o *FormContainer_FormInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*FormContainer_FormInfo) NDRSwitchValue

func (o *FormContainer_FormInfo) NDRSwitchValue(sw uint32) uint32

func (*FormContainer_FormInfo) UnmarshalUnionNDR

func (o *FormContainer_FormInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type FormContainer_FormInfo_FormInfo1

type FormContainer_FormInfo_FormInfo1 struct {
	FormInfo1 *FormInfo1 `idl:"name:pFormInfo1" json:"form_info1"`
}

FormContainer_FormInfo_FormInfo1 structure represents FormContainer_FormInfo RPC union arm.

It has following labels: 1

func (*FormContainer_FormInfo_FormInfo1) MarshalNDR

func (*FormContainer_FormInfo_FormInfo1) UnmarshalNDR

type FormContainer_FormInfo_FormInfo2

type FormContainer_FormInfo_FormInfo2 struct {
	FormInfo2 *FormInfo2 `idl:"name:pFormInfo2" json:"form_info2"`
}

FormContainer_FormInfo_FormInfo2 structure represents FormContainer_FormInfo RPC union arm.

It has following labels: 2

func (*FormContainer_FormInfo_FormInfo2) MarshalNDR

func (*FormContainer_FormInfo_FormInfo2) UnmarshalNDR

type FormInfo1

type FormInfo1 struct {
	Flags         uint32     `idl:"name:Flags" json:"flags"`
	Name          string     `idl:"name:pName;string" json:"name"`
	Size          *Size      `idl:"name:Size" json:"size"`
	ImageableArea *Rectangle `idl:"name:ImageableArea" json:"imageable_area"`
}

FormInfo1 structure represents FORM_INFO_1 RPC structure.

func (*FormInfo1) MarshalNDR

func (o *FormInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*FormInfo1) UnmarshalNDR

func (o *FormInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type FormInfo2

type FormInfo2 struct {
	Flags         uint32     `idl:"name:Flags" json:"flags"`
	Name          string     `idl:"name:pName;string;pointer:unique" json:"name"`
	Size          *Size      `idl:"name:Size" json:"size"`
	ImageableArea *Rectangle `idl:"name:ImageableArea" json:"imageable_area"`
	Keyword       string     `idl:"name:pKeyword;string;pointer:unique" json:"keyword"`
	StringType    uint32     `idl:"name:StringType" json:"string_type"`
	MUIDLL        string     `idl:"name:pMuiDll;string;pointer:unique" json:"mui_dll"`
	ResourceID    uint32     `idl:"name:dwResourceId" json:"resource_id"`
	DisplayName   string     `idl:"name:pDisplayName;string;pointer:unique" json:"display_name"`
	LangID        uint16     `idl:"name:wLangID" json:"lang_id"`
}

FormInfo2 structure represents RPC_FORM_INFO_2 RPC structure.

func (*FormInfo2) MarshalNDR

func (o *FormInfo2) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*FormInfo2) UnmarshalNDR

func (o *FormInfo2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type GDI

GDI structure represents GDI_HANDLE RPC structure.

func (*GDI) ContextHandle

func (o *GDI) ContextHandle() *dcetypes.ContextHandle

func (*GDI) MarshalNDR

func (o *GDI) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GDI) UnmarshalNDR

func (o *GDI) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type GetCorePrinterDriversRequest

type GetCorePrinterDriversRequest struct {
	// pszServer: A pointer to a string that specifies the name of the print server from
	// which to get the core printer driver information. This string contains a server name
	// that is identical to the server name that was used to create the hRemoteBinding parameter.
	// For details on RPC bind handles, see [MS-RPCE]. For rules governing print server
	// names, see [MS-RPRN] section 2.2.4.16.
	Server string `idl:"name:pszServer;string;pointer:unique" json:"server"`
	// pszEnvironment: A pointer to a string that specifies the environment name for which
	// the core printer driver information will be returned. For rules governing environment
	// names, see [MS-RPRN] section 2.2.4.4.
	Environment string `idl:"name:pszEnvironment;string" json:"environment"`
	// cchCoreDrivers: The size, in bytes, of the buffer that is referenced by the pszzCoreDriverDependencies
	// parameter.
	CoreDriversLength uint32 `idl:"name:cchCoreDrivers" json:"core_drivers_length"`
	// pszzCoreDriverDependencies: A pointer to a multisz that contains a list of IDs <22>
	// of the core printer drivers to be retrieved.
	//
	// *
	//
	// Call *RpcAsyncGetPrinterDriver* (section 3.1.4.2.1 ( ea314d84-f508-48b8-9dee-46fed1719600
	// ) ) with a Level parameter value of 0x00000008.
	//
	// *
	//
	// A *_DRIVER_INFO_8* custom-marshaled structure ([MS-RPRN] section 2.2.2.4.8 ( ../ms-rprn/f9b749d6-08fc-4820-8d7b-fe0ee33e42c5
	// ) ) is returned in the pDriver parameter.
	//
	// *
	//
	// In the *_DRIVER_INFO_8* , the *szzCoreDependenciesOffset* field contains an offset
	// to a multisz that contains the list of IDs.
	CoreDriverDependencies string `idl:"name:pszzCoreDriverDependencies;size_is:(cchCoreDrivers)" json:"core_driver_dependencies"`
	// cCorePrinterDrivers: The count of CORE_PRINTER_DRIVER structures (section 2.2.8)
	// that are contained in the buffer that is pointed to by the pCorePrinterDrivers parameter.
	// It equals the number of IDs that are specified in the multisz that is pointed to
	// by the pszzCoreDriverDependencies parameter.
	CorePrinterDriversCount uint32 `idl:"name:cCorePrinterDrivers" json:"core_printer_drivers_count"`
}

GetCorePrinterDriversRequest structure represents the RpcAsyncGetCorePrinterDrivers operation request

func (*GetCorePrinterDriversRequest) MarshalNDR

func (*GetCorePrinterDriversRequest) UnmarshalNDR

func (o *GetCorePrinterDriversRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetCorePrinterDriversResponse

type GetCorePrinterDriversResponse struct {
	// pCorePrinterDrivers: A pointer to a buffer that receives an array of CORE_PRINTER_DRIVER
	// structures.
	CorePrinterDrivers []*CorePrinterDriver `idl:"name:pCorePrinterDrivers;size_is:(cCorePrinterDrivers)" json:"core_printer_drivers"`
	// Return: The RpcAsyncGetCorePrinterDrivers return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetCorePrinterDriversResponse structure represents the RpcAsyncGetCorePrinterDrivers operation response

func (*GetCorePrinterDriversResponse) MarshalNDR

func (*GetCorePrinterDriversResponse) UnmarshalNDR

func (o *GetCorePrinterDriversResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetFormRequest

type GetFormRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer `idl:"name:hPrinter" json:"printer"`
	FormName     string   `idl:"name:pFormName;string" json:"form_name"`
	Level        uint32   `idl:"name:Level" json:"level"`
	Form         []byte   `idl:"name:pForm;size_is:(cbBuf);pointer:unique" json:"form"`
	BufferLength uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

GetFormRequest structure represents the RpcAsyncGetForm operation request

func (*GetFormRequest) MarshalNDR

func (o *GetFormRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetFormRequest) UnmarshalNDR

func (o *GetFormRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetFormResponse

type GetFormResponse struct {
	Form         []byte `idl:"name:pForm;size_is:(cbBuf);pointer:unique" json:"form"`
	NeededLength uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncGetForm return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetFormResponse structure represents the RpcAsyncGetForm operation response

func (*GetFormResponse) MarshalNDR

func (o *GetFormResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetFormResponse) UnmarshalNDR

func (o *GetFormResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetJobNamedPropertyValueRequest

type GetJobNamedPropertyValueRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
	JobID   uint32   `idl:"name:JobId" json:"job_id"`
	Name    string   `idl:"name:pszName;string" json:"name"`
}

GetJobNamedPropertyValueRequest structure represents the RpcAsyncGetJobNamedPropertyValue operation request

func (*GetJobNamedPropertyValueRequest) MarshalNDR

func (*GetJobNamedPropertyValueRequest) UnmarshalNDR

type GetJobNamedPropertyValueResponse

type GetJobNamedPropertyValueResponse struct {
	Value *PrintJobPropertyValue `idl:"name:pValue" json:"value"`
	// Return: The RpcAsyncGetJobNamedPropertyValue return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetJobNamedPropertyValueResponse structure represents the RpcAsyncGetJobNamedPropertyValue operation response

func (*GetJobNamedPropertyValueResponse) MarshalNDR

func (*GetJobNamedPropertyValueResponse) UnmarshalNDR

type GetJobRequest

type GetJobRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer `idl:"name:hPrinter" json:"printer"`
	JobID        uint32   `idl:"name:JobId" json:"job_id"`
	Level        uint32   `idl:"name:Level" json:"level"`
	Job          []byte   `idl:"name:pJob;size_is:(cbBuf);pointer:unique" json:"job"`
	BufferLength uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

GetJobRequest structure represents the RpcAsyncGetJob operation request

func (*GetJobRequest) MarshalNDR

func (o *GetJobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobRequest) UnmarshalNDR

func (o *GetJobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetJobResponse

type GetJobResponse struct {
	Job          []byte `idl:"name:pJob;size_is:(cbBuf);pointer:unique" json:"job"`
	NeededLength uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncGetJob return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetJobResponse structure represents the RpcAsyncGetJob operation response

func (*GetJobResponse) MarshalNDR

func (o *GetJobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetJobResponse) UnmarshalNDR

func (o *GetJobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrintProcessorDirectoryRequest

type GetPrintProcessorDirectoryRequest struct {
	Name                    string `idl:"name:pName;string;pointer:unique" json:"name"`
	Environment             string `idl:"name:pEnvironment;string;pointer:unique" json:"environment"`
	Level                   uint32 `idl:"name:Level" json:"level"`
	PrintProcessorDirectory []byte `idl:"name:pPrintProcessorDirectory;size_is:(cbBuf);pointer:unique" json:"print_processor_directory"`
	BufferLength            uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

GetPrintProcessorDirectoryRequest structure represents the RpcAsyncGetPrintProcessorDirectory operation request

func (*GetPrintProcessorDirectoryRequest) MarshalNDR

func (*GetPrintProcessorDirectoryRequest) UnmarshalNDR

type GetPrintProcessorDirectoryResponse

type GetPrintProcessorDirectoryResponse struct {
	PrintProcessorDirectory []byte `idl:"name:pPrintProcessorDirectory;size_is:(cbBuf);pointer:unique" json:"print_processor_directory"`
	NeededLength            uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncGetPrintProcessorDirectory return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPrintProcessorDirectoryResponse structure represents the RpcAsyncGetPrintProcessorDirectory operation response

func (*GetPrintProcessorDirectoryResponse) MarshalNDR

func (*GetPrintProcessorDirectoryResponse) UnmarshalNDR

type GetPrinterDataExRequest

type GetPrinterDataExRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer   *Printer `idl:"name:hPrinter" json:"printer"`
	KeyName   string   `idl:"name:pKeyName;string" json:"key_name"`
	ValueName string   `idl:"name:pValueName;string" json:"value_name"`
	Size      uint32   `idl:"name:nSize" json:"size"`
}

GetPrinterDataExRequest structure represents the RpcAsyncGetPrinterDataEx operation request

func (*GetPrinterDataExRequest) MarshalNDR

func (o *GetPrinterDataExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterDataExRequest) UnmarshalNDR

func (o *GetPrinterDataExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrinterDataExResponse

type GetPrinterDataExResponse struct {
	Type         uint32 `idl:"name:pType" json:"type"`
	Data         []byte `idl:"name:pData;size_is:(nSize)" json:"data"`
	NeededLength uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncGetPrinterDataEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPrinterDataExResponse structure represents the RpcAsyncGetPrinterDataEx operation response

func (*GetPrinterDataExResponse) MarshalNDR

func (o *GetPrinterDataExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterDataExResponse) UnmarshalNDR

func (o *GetPrinterDataExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrinterDataRequest

type GetPrinterDataRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer   *Printer `idl:"name:hPrinter" json:"printer"`
	ValueName string   `idl:"name:pValueName;string" json:"value_name"`
	Size      uint32   `idl:"name:nSize" json:"size"`
}

GetPrinterDataRequest structure represents the RpcAsyncGetPrinterData operation request

func (*GetPrinterDataRequest) MarshalNDR

func (o *GetPrinterDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterDataRequest) UnmarshalNDR

func (o *GetPrinterDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrinterDataResponse

type GetPrinterDataResponse struct {
	Type         uint32 `idl:"name:pType" json:"type"`
	Data         []byte `idl:"name:pData;size_is:(nSize)" json:"data"`
	NeededLength uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncGetPrinterData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPrinterDataResponse structure represents the RpcAsyncGetPrinterData operation response

func (*GetPrinterDataResponse) MarshalNDR

func (o *GetPrinterDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterDataResponse) UnmarshalNDR

func (o *GetPrinterDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrinterDriverDirectoryRequest

type GetPrinterDriverDirectoryRequest struct {
	Name            string `idl:"name:pName;string;pointer:unique" json:"name"`
	Environment     string `idl:"name:pEnvironment;string;pointer:unique" json:"environment"`
	Level           uint32 `idl:"name:Level" json:"level"`
	DriverDirectory []byte `idl:"name:pDriverDirectory;size_is:(cbBuf);pointer:unique" json:"driver_directory"`
	BufferLength    uint32 `idl:"name:cbBuf" json:"buffer_length"`
}

GetPrinterDriverDirectoryRequest structure represents the RpcAsyncGetPrinterDriverDirectory operation request

func (*GetPrinterDriverDirectoryRequest) MarshalNDR

func (*GetPrinterDriverDirectoryRequest) UnmarshalNDR

type GetPrinterDriverDirectoryResponse

type GetPrinterDriverDirectoryResponse struct {
	DriverDirectory []byte `idl:"name:pDriverDirectory;size_is:(cbBuf);pointer:unique" json:"driver_directory"`
	NeededLength    uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncGetPrinterDriverDirectory return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPrinterDriverDirectoryResponse structure represents the RpcAsyncGetPrinterDriverDirectory operation response

func (*GetPrinterDriverDirectoryResponse) MarshalNDR

func (*GetPrinterDriverDirectoryResponse) UnmarshalNDR

type GetPrinterDriverPackagePathRequest

type GetPrinterDriverPackagePathRequest struct {
	// pszServer: A pointer to a string that contains the name of the print server from
	// which to get the printer driver package path. This server name MUST be identical
	// to the server name that was used to create the hRemoteBinding parameter. For details
	// on RPC bind handles, see [MS-RPCE]. For rules governing print server names, see [MS-RPRN]
	// section 2.2.4.16.
	Server string `idl:"name:pszServer;string;pointer:unique" json:"server"`
	// pszEnvironment: A pointer to a string that contains the environment name for which
	// the driver package path is returned. For rules governing environment names and behaviors,
	// see [MS-RPRN] section 2.2.4.4.
	Environment string `idl:"name:pszEnvironment;string" json:"environment"`
	// pszLanguage: A pointer to a string that contains the language for which the driver
	// package path is returned.<25> Providing this pointer is optional. If the pointer
	// is not provided, the value of this parameter MUST be NULL.
	Language string `idl:"name:pszLanguage;string;pointer:unique" json:"language"`
	// pszPackageID: A pointer to a string that contains package name. The package name
	// is obtained by calling RpcAsyncGetCorePrinterDrivers.
	PackageID string `idl:"name:pszPackageID;string" json:"package_id"`
	// pszDriverPackageCab: A pointer to a string that contains the path name of the driver
	// package file.<26> For rules governing path names, see [MS-RPRN] section 2.2.4.9.
	// The pszDriverPackageCab parameter MUST NOT be NULL unless cchDriverPackageCab is
	// zero.
	DriverPackageCab string `idl:"name:pszDriverPackageCab;size_is:(cchDriverPackageCab);pointer:unique" json:"driver_package_cab"`
	// cchDriverPackageCab: The size, in characters, of the buffer that is referenced by
	// the pszDriverPackageCab parameter. The value of this parameter MAY<27> be zero.
	DriverPackageCabLength uint32 `idl:"name:cchDriverPackageCab" json:"driver_package_cab_length"`
}

GetPrinterDriverPackagePathRequest structure represents the RpcAsyncGetPrinterDriverPackagePath operation request

func (*GetPrinterDriverPackagePathRequest) MarshalNDR

func (*GetPrinterDriverPackagePathRequest) UnmarshalNDR

type GetPrinterDriverPackagePathResponse

type GetPrinterDriverPackagePathResponse struct {
	// pszDriverPackageCab: A pointer to a string that contains the path name of the driver
	// package file.<26> For rules governing path names, see [MS-RPRN] section 2.2.4.9.
	// The pszDriverPackageCab parameter MUST NOT be NULL unless cchDriverPackageCab is
	// zero.
	DriverPackageCab string `idl:"name:pszDriverPackageCab;size_is:(cchDriverPackageCab);pointer:unique" json:"driver_package_cab"`
	// pcchRequiredSize: A pointer to a variable that receives the required size of the
	// buffer that is pointed to by the pszDriverPackageCab parameter.
	RequiredLength uint32 `idl:"name:pcchRequiredSize" json:"required_length"`
	// Return: The RpcAsyncGetPrinterDriverPackagePath return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetPrinterDriverPackagePathResponse structure represents the RpcAsyncGetPrinterDriverPackagePath operation response

func (*GetPrinterDriverPackagePathResponse) MarshalNDR

func (*GetPrinterDriverPackagePathResponse) UnmarshalNDR

type GetPrinterDriverRequest

type GetPrinterDriverRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer            *Printer `idl:"name:hPrinter" json:"printer"`
	Environment        string   `idl:"name:pEnvironment;string;pointer:unique" json:"environment"`
	Level              uint32   `idl:"name:Level" json:"level"`
	Driver             []byte   `idl:"name:pDriver;size_is:(cbBuf);pointer:unique" json:"driver"`
	BufferLength       uint32   `idl:"name:cbBuf" json:"buffer_length"`
	ClientMajorVersion uint32   `idl:"name:dwClientMajorVersion" json:"client_major_version"`
	ClientMinorVersion uint32   `idl:"name:dwClientMinorVersion" json:"client_minor_version"`
}

GetPrinterDriverRequest structure represents the RpcAsyncGetPrinterDriver operation request

func (*GetPrinterDriverRequest) MarshalNDR

func (o *GetPrinterDriverRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterDriverRequest) UnmarshalNDR

func (o *GetPrinterDriverRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrinterDriverResponse

type GetPrinterDriverResponse struct {
	Driver           []byte `idl:"name:pDriver;size_is:(cbBuf);pointer:unique" json:"driver"`
	NeededLength     uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	ServerMaxVersion uint32 `idl:"name:pdwServerMaxVersion" json:"server_max_version"`
	ServerMinVersion uint32 `idl:"name:pdwServerMinVersion" json:"server_min_version"`
	// Return: The RpcAsyncGetPrinterDriver return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPrinterDriverResponse structure represents the RpcAsyncGetPrinterDriver operation response

func (*GetPrinterDriverResponse) MarshalNDR

func (o *GetPrinterDriverResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterDriverResponse) UnmarshalNDR

func (o *GetPrinterDriverResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrinterRequest

type GetPrinterRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer       *Printer `idl:"name:hPrinter" json:"printer"`
	Level         uint32   `idl:"name:Level" json:"level"`
	PrinterBuffer []byte   `idl:"name:pPrinter;size_is:(cbBuf);pointer:unique" json:"printer_buffer"`
	BufferLength  uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

GetPrinterRequest structure represents the RpcAsyncGetPrinter operation request

func (*GetPrinterRequest) MarshalNDR

func (o *GetPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterRequest) UnmarshalNDR

func (o *GetPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetPrinterResponse

type GetPrinterResponse struct {
	PrinterBuffer []byte `idl:"name:pPrinter;size_is:(cbBuf);pointer:unique" json:"printer_buffer"`
	NeededLength  uint32 `idl:"name:pcbNeeded" json:"needed_length"`
	// Return: The RpcAsyncGetPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetPrinterResponse structure represents the RpcAsyncGetPrinter operation response

func (*GetPrinterResponse) MarshalNDR

func (o *GetPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*GetPrinterResponse) UnmarshalNDR

func (o *GetPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetRemoteNotificationsRequest

type GetRemoteNotificationsRequest struct {
	// hRpcHandle: A remote notification handle that was opened by using RpcSyncRegisterForRemoteNotifications
	// (section 3.1.4.9.1).
	Handle *RemoteNotify `idl:"name:hRpcHandle" json:"handle"`
}

GetRemoteNotificationsRequest structure represents the RpcAsyncGetRemoteNotifications operation request

func (*GetRemoteNotificationsRequest) MarshalNDR

func (*GetRemoteNotificationsRequest) UnmarshalNDR

func (o *GetRemoteNotificationsRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type GetRemoteNotificationsResponse

type GetRemoteNotificationsResponse struct {
	// ppNotifyData: A pointer to a variable that receives a pointer to an RpcPrintPropertiesCollection
	// (section 2.2.4) instance that contains the notification data.
	NotifyData *PrintPropertiesCollection `idl:"name:ppNotifyData" json:"notify_data"`
	// Return: The RpcAsyncGetRemoteNotifications return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetRemoteNotificationsResponse structure represents the RpcAsyncGetRemoteNotifications operation response

func (*GetRemoteNotificationsResponse) MarshalNDR

func (*GetRemoteNotificationsResponse) UnmarshalNDR

type InstallPrinterDriverFromPackageRequest

type InstallPrinterDriverFromPackageRequest struct {
	// pszServer: A pointer to a string that specifies the name of the print server on which
	// to install the printer driver.
	Server string `idl:"name:pszServer;string;pointer:unique" json:"server"`
	// pszInfPath: A pointer to a string that specifies the path to a driver installation
	// control file that specifies the printer driver.
	InfPath string `idl:"name:pszInfPath;string;pointer:unique" json:"inf_path"`
	// pszDriverName: A pointer to a string that specifies the name of the printer driver.
	DriverName string `idl:"name:pszDriverName;string" json:"driver_name"`
	// pszEnvironment: A pointer to a string that specifies the environment name for which
	// the printer driver is installed. For rules governing environment names, refer to
	// [MS-RPRN] section 2.2.4.4.
	Environment string `idl:"name:pszEnvironment;string" json:"environment"`
	// dwFlags: A bitfield that specifies the options for installing printer driver files
	// from a driver package.
	//
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	|                                 |                                                                                  |
	//	|              VALUE              |                                     MEANING                                      |
	//	|                                 |                                                                                  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000                      | Only the files that will not overwrite files with a newer version SHOULD be      |
	//	|                                 | installed.                                                                       |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| IPDFP_COPY_ALL_FILES 0x00000001 | All files SHOULD be installed, even if doing so would overwrite some newer       |
	//	|                                 | versions.                                                                        |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
}

InstallPrinterDriverFromPackageRequest structure represents the RpcAsyncInstallPrinterDriverFromPackage operation request

func (*InstallPrinterDriverFromPackageRequest) MarshalNDR

func (*InstallPrinterDriverFromPackageRequest) UnmarshalNDR

type InstallPrinterDriverFromPackageResponse

type InstallPrinterDriverFromPackageResponse struct {
	// Return: The RpcAsyncInstallPrinterDriverFromPackage return value.
	Return int32 `idl:"name:Return" json:"return"`
}

InstallPrinterDriverFromPackageResponse structure represents the RpcAsyncInstallPrinterDriverFromPackage operation response

func (*InstallPrinterDriverFromPackageResponse) MarshalNDR

func (*InstallPrinterDriverFromPackageResponse) UnmarshalNDR

type JobContainer

type JobContainer struct {
	Level   uint32                `idl:"name:Level" json:"level"`
	JobInfo *JobContainer_JobInfo `idl:"name:JobInfo;switch_is:Level" json:"job_info"`
}

JobContainer structure represents JOB_CONTAINER RPC structure.

func (*JobContainer) MarshalNDR

func (o *JobContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*JobContainer) UnmarshalNDR

func (o *JobContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobContainer_JobInfo

type JobContainer_JobInfo struct {
	// Types that are assignable to Value
	//
	// *JobContainer_JobInfo_Level1
	// *JobContainer_JobInfo_Level2
	// *JobContainer_JobInfo_Level3
	// *JobContainer_JobInfo_Level4
	Value is_JobContainer_JobInfo `json:"value"`
}

JobContainer_JobInfo structure represents JOB_CONTAINER union anonymous member.

func (*JobContainer_JobInfo) GetValue

func (o *JobContainer_JobInfo) GetValue() any

func (*JobContainer_JobInfo) MarshalUnionNDR

func (o *JobContainer_JobInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*JobContainer_JobInfo) NDRSwitchValue

func (o *JobContainer_JobInfo) NDRSwitchValue(sw uint32) uint32

func (*JobContainer_JobInfo) UnmarshalUnionNDR

func (o *JobContainer_JobInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type JobContainer_JobInfo_Level1

type JobContainer_JobInfo_Level1 struct {
	Level1 *JobInfo1 `idl:"name:Level1" json:"level1"`
}

JobContainer_JobInfo_Level1 structure represents JobContainer_JobInfo RPC union arm.

It has following labels: 1

func (*JobContainer_JobInfo_Level1) MarshalNDR

func (*JobContainer_JobInfo_Level1) UnmarshalNDR

func (o *JobContainer_JobInfo_Level1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobContainer_JobInfo_Level2

type JobContainer_JobInfo_Level2 struct {
	Level2 *JobInfo2 `idl:"name:Level2" json:"level2"`
}

JobContainer_JobInfo_Level2 structure represents JobContainer_JobInfo RPC union arm.

It has following labels: 2

func (*JobContainer_JobInfo_Level2) MarshalNDR

func (*JobContainer_JobInfo_Level2) UnmarshalNDR

func (o *JobContainer_JobInfo_Level2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobContainer_JobInfo_Level3

type JobContainer_JobInfo_Level3 struct {
	Level3 *JobInfo3 `idl:"name:Level3" json:"level3"`
}

JobContainer_JobInfo_Level3 structure represents JobContainer_JobInfo RPC union arm.

It has following labels: 3

func (*JobContainer_JobInfo_Level3) MarshalNDR

func (*JobContainer_JobInfo_Level3) UnmarshalNDR

func (o *JobContainer_JobInfo_Level3) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobContainer_JobInfo_Level4

type JobContainer_JobInfo_Level4 struct {
	Level4 *JobInfo4 `idl:"name:Level4" json:"level4"`
}

JobContainer_JobInfo_Level4 structure represents JobContainer_JobInfo RPC union arm.

It has following labels: 4

func (*JobContainer_JobInfo_Level4) MarshalNDR

func (*JobContainer_JobInfo_Level4) UnmarshalNDR

func (o *JobContainer_JobInfo_Level4) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobInfo1

type JobInfo1 struct {
	JobID        uint32           `idl:"name:JobId" json:"job_id"`
	PrinterName  string           `idl:"name:pPrinterName;string" json:"printer_name"`
	MachineName  string           `idl:"name:pMachineName;string" json:"machine_name"`
	UserName     string           `idl:"name:pUserName;string" json:"user_name"`
	Document     string           `idl:"name:pDocument;string" json:"document"`
	DataType     string           `idl:"name:pDatatype;string" json:"data_type"`
	StatusString string           `idl:"name:__pStatus;string" json:"status_string"`
	Status       uint32           `idl:"name:Status" json:"status"`
	Priority     uint32           `idl:"name:Priority" json:"priority"`
	Position     uint32           `idl:"name:Position" json:"position"`
	TotalPages   uint32           `idl:"name:TotalPages" json:"total_pages"`
	PagesPrinted uint32           `idl:"name:PagesPrinted" json:"pages_printed"`
	Submitted    *dtyp.SystemTime `idl:"name:Submitted" json:"submitted"`
}

JobInfo1 structure represents JOB_INFO_1 RPC structure.

func (*JobInfo1) MarshalNDR

func (o *JobInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*JobInfo1) UnmarshalNDR

func (o *JobInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobInfo2

type JobInfo2 struct {
	JobID              uint32                   `idl:"name:JobId" json:"job_id"`
	PrinterName        string                   `idl:"name:pPrinterName;string" json:"printer_name"`
	MachineName        string                   `idl:"name:pMachineName;string" json:"machine_name"`
	UserName           string                   `idl:"name:pUserName;string" json:"user_name"`
	Document           string                   `idl:"name:pDocument;string" json:"document"`
	NotifyName         string                   `idl:"name:pNotifyName;string" json:"notify_name"`
	DataType           string                   `idl:"name:pDatatype;string" json:"data_type"`
	PrintProcessor     string                   `idl:"name:pPrintProcessor;string" json:"print_processor"`
	Parameters         string                   `idl:"name:pParameters;string" json:"parameters"`
	DriverName         string                   `idl:"name:pDriverName;string" json:"driver_name"`
	DevMode            *DevMode                 `idl:"name:pDevMode" json:"dev_mode"`
	StatusString       string                   `idl:"name:__pStatus;string" json:"status_string"`
	SecurityDescriptor *dtyp.SecurityDescriptor `idl:"name:pSecurityDescriptor" json:"security_descriptor"`
	Status             uint32                   `idl:"name:Status" json:"status"`
	Priority           uint32                   `idl:"name:Priority" json:"priority"`
	Position           uint32                   `idl:"name:Position" json:"position"`
	StartTime          uint32                   `idl:"name:StartTime" json:"start_time"`
	UntilTime          uint32                   `idl:"name:UntilTime" json:"until_time"`
	TotalPages         uint32                   `idl:"name:TotalPages" json:"total_pages"`
	Size               uint32                   `idl:"name:Size" json:"size"`
	Submitted          *dtyp.SystemTime         `idl:"name:Submitted" json:"submitted"`
	Time               uint32                   `idl:"name:Time" json:"time"`
	PagesPrinted       uint32                   `idl:"name:PagesPrinted" json:"pages_printed"`
}

JobInfo2 structure represents JOB_INFO_2 RPC structure.

func (*JobInfo2) MarshalNDR

func (o *JobInfo2) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*JobInfo2) UnmarshalNDR

func (o *JobInfo2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobInfo3

type JobInfo3 struct {
	JobID     uint32 `idl:"name:JobId" json:"job_id"`
	NextJobID uint32 `idl:"name:NextJobId" json:"next_job_id"`
	// contains filtered or unexported fields
}

JobInfo3 structure represents JOB_INFO_3 RPC structure.

func (*JobInfo3) MarshalNDR

func (o *JobInfo3) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*JobInfo3) UnmarshalNDR

func (o *JobInfo3) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type JobInfo4

type JobInfo4 struct {
	JobID              uint32                   `idl:"name:JobId" json:"job_id"`
	PrinterName        string                   `idl:"name:pPrinterName;string" json:"printer_name"`
	MachineName        string                   `idl:"name:pMachineName;string" json:"machine_name"`
	UserName           string                   `idl:"name:pUserName;string" json:"user_name"`
	Document           string                   `idl:"name:pDocument;string" json:"document"`
	NotifyName         string                   `idl:"name:pNotifyName;string" json:"notify_name"`
	DataType           string                   `idl:"name:pDatatype;string" json:"data_type"`
	PrintProcessor     string                   `idl:"name:pPrintProcessor;string" json:"print_processor"`
	Parameters         string                   `idl:"name:pParameters;string" json:"parameters"`
	DriverName         string                   `idl:"name:pDriverName;string" json:"driver_name"`
	DevMode            *DevMode                 `idl:"name:pDevMode" json:"dev_mode"`
	StatusString       string                   `idl:"name:__pStatus;string" json:"status_string"`
	SecurityDescriptor *dtyp.SecurityDescriptor `idl:"name:pSecurityDescriptor" json:"security_descriptor"`
	Status             uint32                   `idl:"name:Status" json:"status"`
	Priority           uint32                   `idl:"name:Priority" json:"priority"`
	Position           uint32                   `idl:"name:Position" json:"position"`
	StartTime          uint32                   `idl:"name:StartTime" json:"start_time"`
	UntilTime          uint32                   `idl:"name:UntilTime" json:"until_time"`
	TotalPages         uint32                   `idl:"name:TotalPages" json:"total_pages"`
	Size               uint32                   `idl:"name:Size" json:"size"`
	Submitted          *dtyp.SystemTime         `idl:"name:Submitted" json:"submitted"`
	Time               uint32                   `idl:"name:Time" json:"time"`
	PagesPrinted       uint32                   `idl:"name:PagesPrinted" json:"pages_printed"`
	SizeHigh           int32                    `idl:"name:SizeHigh" json:"size_high"`
}

JobInfo4 structure represents JOB_INFO_4 RPC structure.

func (*JobInfo4) MarshalNDR

func (o *JobInfo4) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*JobInfo4) UnmarshalNDR

func (o *JobInfo4) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type LogJobInfoForBranchOfficeRequest

type LogJobInfoForBranchOfficeRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer                      *Printer                      `idl:"name:hPrinter" json:"printer"`
	BranchOfficeJobDataContainer *BranchOfficeJobDataContainer `idl:"name:pBranchOfficeJobDataContainer;pointer:ref" json:"branch_office_job_data_container"`
}

LogJobInfoForBranchOfficeRequest structure represents the RpcAsyncLogJobInfoForBranchOffice operation request

func (*LogJobInfoForBranchOfficeRequest) MarshalNDR

func (*LogJobInfoForBranchOfficeRequest) UnmarshalNDR

type LogJobInfoForBranchOfficeResponse

type LogJobInfoForBranchOfficeResponse struct {
	// Return: The RpcAsyncLogJobInfoForBranchOffice return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

LogJobInfoForBranchOfficeResponse structure represents the RpcAsyncLogJobInfoForBranchOffice operation response

func (*LogJobInfoForBranchOfficeResponse) MarshalNDR

func (*LogJobInfoForBranchOfficeResponse) UnmarshalNDR

type MonitorContainer

type MonitorContainer struct {
	Level       uint32                        `idl:"name:Level" json:"level"`
	MonitorInfo *MonitorContainer_MonitorInfo `idl:"name:MonitorInfo;switch_is:Level" json:"monitor_info"`
}

MonitorContainer structure represents MONITOR_CONTAINER RPC structure.

func (*MonitorContainer) MarshalNDR

func (o *MonitorContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MonitorContainer) UnmarshalNDR

func (o *MonitorContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MonitorContainer_MonitorInfo

type MonitorContainer_MonitorInfo struct {
	// Types that are assignable to Value
	//
	// *MonitorContainer_MonitorInfo_MonitorInfo1
	// *MonitorContainer_MonitorInfo_MonitorInfo2
	Value is_MonitorContainer_MonitorInfo `json:"value"`
}

MonitorContainer_MonitorInfo structure represents MONITOR_CONTAINER union anonymous member.

func (*MonitorContainer_MonitorInfo) GetValue

func (o *MonitorContainer_MonitorInfo) GetValue() any

func (*MonitorContainer_MonitorInfo) MarshalUnionNDR

func (o *MonitorContainer_MonitorInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*MonitorContainer_MonitorInfo) NDRSwitchValue

func (o *MonitorContainer_MonitorInfo) NDRSwitchValue(sw uint32) uint32

func (*MonitorContainer_MonitorInfo) UnmarshalUnionNDR

func (o *MonitorContainer_MonitorInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type MonitorContainer_MonitorInfo_MonitorInfo1

type MonitorContainer_MonitorInfo_MonitorInfo1 struct {
	MonitorInfo1 *MonitorInfo1 `idl:"name:pMonitorInfo1" json:"monitor_info1"`
}

MonitorContainer_MonitorInfo_MonitorInfo1 structure represents MonitorContainer_MonitorInfo RPC union arm.

It has following labels: 1

func (*MonitorContainer_MonitorInfo_MonitorInfo1) MarshalNDR

func (*MonitorContainer_MonitorInfo_MonitorInfo1) UnmarshalNDR

type MonitorContainer_MonitorInfo_MonitorInfo2

type MonitorContainer_MonitorInfo_MonitorInfo2 struct {
	MonitorInfo2 *MonitorInfo2 `idl:"name:pMonitorInfo2" json:"monitor_info2"`
}

MonitorContainer_MonitorInfo_MonitorInfo2 structure represents MonitorContainer_MonitorInfo RPC union arm.

It has following labels: 2

func (*MonitorContainer_MonitorInfo_MonitorInfo2) MarshalNDR

func (*MonitorContainer_MonitorInfo_MonitorInfo2) UnmarshalNDR

type MonitorInfo1

type MonitorInfo1 struct {
	Name string `idl:"name:pName;string" json:"name"`
}

MonitorInfo1 structure represents MONITOR_INFO_1 RPC structure.

func (*MonitorInfo1) MarshalNDR

func (o *MonitorInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MonitorInfo1) UnmarshalNDR

func (o *MonitorInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type MonitorInfo2

type MonitorInfo2 struct {
	Name        string `idl:"name:pName;string" json:"name"`
	Environment string `idl:"name:pEnvironment;string" json:"environment"`
	DLLName     string `idl:"name:pDLLName;string" json:"dll_name"`
}

MonitorInfo2 structure represents MONITOR_INFO_2 RPC structure.

func (*MonitorInfo2) MarshalNDR

func (o *MonitorInfo2) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*MonitorInfo2) UnmarshalNDR

func (o *MonitorInfo2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type NotifyOptionsContainer

type NotifyOptionsContainer struct {
	// pOptions: A pointer to an RPC_V2_NOTIFY_OPTIONS.
	Options *V2NotifyOptions `idl:"name:pOptions" json:"options"`
}

NotifyOptionsContainer structure represents NOTIFY_OPTIONS_CONTAINER RPC structure.

The NOTIFY_OPTIONS_CONTAINER structure encapsulates an RPC_V2_NOTIFY_OPTIONS structure ([MS-RPRN] section 2.2.1.13.1), which specifies options for a change notification object that monitors a printer or print server for changes in state.

func (*NotifyOptionsContainer) MarshalNDR

func (o *NotifyOptionsContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*NotifyOptionsContainer) UnmarshalNDR

func (o *NotifyOptionsContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type NotifyReplyContainer

type NotifyReplyContainer struct {
	// pInfo: A pointer to an RPC_V2_NOTIFY_INFO.
	Info *V2NotifyInfo `idl:"name:pInfo" json:"info"`
}

NotifyReplyContainer structure represents NOTIFY_REPLY_CONTAINER RPC structure.

The NOTIFY_REPLY_CONTAINER structure encapsulates an RPC_V2_NOTIFY_INFO structure ([MS-RPRN] section 2.2.1.13.3), which provides printer information members and current data for those members.

func (*NotifyReplyContainer) MarshalNDR

func (o *NotifyReplyContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*NotifyReplyContainer) UnmarshalNDR

func (o *NotifyReplyContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type OpenPrinterRequest

type OpenPrinterRequest struct {
	PrinterName      string            `idl:"name:pPrinterName;string;pointer:unique" json:"printer_name"`
	DataType         string            `idl:"name:pDatatype;string;pointer:unique" json:"data_type"`
	DevModeContainer *DevModeContainer `idl:"name:pDevModeContainer" json:"dev_mode_container"`
	AccessRequired   uint32            `idl:"name:AccessRequired" json:"access_required"`
	ClientInfo       *ClientContainer  `idl:"name:pClientInfo" json:"client_info"`
}

OpenPrinterRequest structure represents the RpcAsyncOpenPrinter operation request

func (*OpenPrinterRequest) MarshalNDR

func (o *OpenPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*OpenPrinterRequest) UnmarshalNDR

func (o *OpenPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type OpenPrinterResponse

type OpenPrinterResponse struct {
	Handle *Printer `idl:"name:pHandle" json:"handle"`
	// Return: The RpcAsyncOpenPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

OpenPrinterResponse structure represents the RpcAsyncOpenPrinter operation response

func (*OpenPrinterResponse) MarshalNDR

func (o *OpenPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*OpenPrinterResponse) UnmarshalNDR

func (o *OpenPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type PlayGDIScriptOnPrinterICRequest

type PlayGDIScriptOnPrinterICRequest struct {
	// hPrinterIC: A printer information context handle ([MS-RPRN] section 2.2.1.1.2) that
	// has been returned by RpcAsyncCreatePrinterIC (section 3.1.4.1.18).
	PrinterIC *GDI   `idl:"name:hPrinterIC" json:"printer_ic"`
	In        []byte `idl:"name:pIn;size_is:(cIn)" json:"in"`
	InCount   uint32 `idl:"name:cIn" json:"in_count"`
	OutCount  uint32 `idl:"name:cOut" json:"out_count"`
	Ul        uint32 `idl:"name:ul" json:"ul"`
}

PlayGDIScriptOnPrinterICRequest structure represents the RpcAsyncPlayGdiScriptOnPrinterIC operation request

func (*PlayGDIScriptOnPrinterICRequest) MarshalNDR

func (*PlayGDIScriptOnPrinterICRequest) UnmarshalNDR

type PlayGDIScriptOnPrinterICResponse

type PlayGDIScriptOnPrinterICResponse struct {
	Out []byte `idl:"name:pOut;size_is:(cOut)" json:"out"`
	// Return: The RpcAsyncPlayGdiScriptOnPrinterIC return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

PlayGDIScriptOnPrinterICResponse structure represents the RpcAsyncPlayGdiScriptOnPrinterIC operation response

func (*PlayGDIScriptOnPrinterICResponse) MarshalNDR

func (*PlayGDIScriptOnPrinterICResponse) UnmarshalNDR

type PortContainer

type PortContainer struct {
	Level    uint32                  `idl:"name:Level" json:"level"`
	PortInfo *PortContainer_PortInfo `idl:"name:PortInfo;switch_is:(16777215 Level &)" json:"port_info"`
}

PortContainer structure represents PORT_CONTAINER RPC structure.

func (*PortContainer) MarshalNDR

func (o *PortContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PortContainer) UnmarshalNDR

func (o *PortContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PortContainer_PortInfo

type PortContainer_PortInfo struct {
	// Types that are assignable to Value
	//
	// *PortContainer_PortInfo_PortInfo1
	// *PortContainer_PortInfo_PortInfo2
	// *PortContainer_PortInfo_PortInfo3
	// *PortContainer_PortInfo_PortInfo255
	Value is_PortContainer_PortInfo `json:"value"`
}

PortContainer_PortInfo structure represents PORT_CONTAINER union anonymous member.

func (*PortContainer_PortInfo) GetValue

func (o *PortContainer_PortInfo) GetValue() any

func (*PortContainer_PortInfo) MarshalUnionNDR

func (o *PortContainer_PortInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*PortContainer_PortInfo) NDRSwitchValue

func (o *PortContainer_PortInfo) NDRSwitchValue(sw uint32) uint32

func (*PortContainer_PortInfo) UnmarshalUnionNDR

func (o *PortContainer_PortInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type PortContainer_PortInfo_PortInfo1

type PortContainer_PortInfo_PortInfo1 struct {
	PortInfo1 *PortInfo1 `idl:"name:pPortInfo1" json:"port_info1"`
}

PortContainer_PortInfo_PortInfo1 structure represents PortContainer_PortInfo RPC union arm.

It has following labels: 1

func (*PortContainer_PortInfo_PortInfo1) MarshalNDR

func (*PortContainer_PortInfo_PortInfo1) UnmarshalNDR

type PortContainer_PortInfo_PortInfo2

type PortContainer_PortInfo_PortInfo2 struct {
	PortInfo2 *PortInfo2 `idl:"name:pPortInfo2" json:"port_info2"`
}

PortContainer_PortInfo_PortInfo2 structure represents PortContainer_PortInfo RPC union arm.

It has following labels: 2

func (*PortContainer_PortInfo_PortInfo2) MarshalNDR

func (*PortContainer_PortInfo_PortInfo2) UnmarshalNDR

type PortContainer_PortInfo_PortInfo255

type PortContainer_PortInfo_PortInfo255 struct {
	PortInfo255 *PortInfo255 `idl:"name:pPortInfoFF" json:"port_info255"`
}

PortContainer_PortInfo_PortInfo255 structure represents PortContainer_PortInfo RPC union arm.

It has following labels: 16777215

func (*PortContainer_PortInfo_PortInfo255) MarshalNDR

func (*PortContainer_PortInfo_PortInfo255) UnmarshalNDR

type PortContainer_PortInfo_PortInfo3

type PortContainer_PortInfo_PortInfo3 struct {
	PortInfo3 *PortInfo3 `idl:"name:pPortInfo3" json:"port_info3"`
}

PortContainer_PortInfo_PortInfo3 structure represents PortContainer_PortInfo RPC union arm.

It has following labels: 3

func (*PortContainer_PortInfo_PortInfo3) MarshalNDR

func (*PortContainer_PortInfo_PortInfo3) UnmarshalNDR

type PortInfo1

type PortInfo1 struct {
	PortName string `idl:"name:pPortName;string" json:"port_name"`
}

PortInfo1 structure represents PORT_INFO_1 RPC structure.

func (*PortInfo1) MarshalNDR

func (o *PortInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PortInfo1) UnmarshalNDR

func (o *PortInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PortInfo2

type PortInfo2 struct {
	PortName    string `idl:"name:pPortName;string" json:"port_name"`
	MonitorName string `idl:"name:pMonitorName;string" json:"monitor_name"`
	Description string `idl:"name:pDescription;string" json:"description"`
	PortType    uint32 `idl:"name:fPortType" json:"port_type"`
	// contains filtered or unexported fields
}

PortInfo2 structure represents PORT_INFO_2 RPC structure.

func (*PortInfo2) MarshalNDR

func (o *PortInfo2) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PortInfo2) UnmarshalNDR

func (o *PortInfo2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PortInfo255

type PortInfo255 struct {
	PortName          string `idl:"name:pPortName;string" json:"port_name"`
	MonitorDataLength uint32 `idl:"name:cbMonitorData" json:"monitor_data_length"`
	MonitorData       uint8  `idl:"name:pMonitorData" json:"monitor_data"`
}

PortInfo255 structure represents PORT_INFO_FF RPC structure.

func (*PortInfo255) MarshalNDR

func (o *PortInfo255) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PortInfo255) UnmarshalNDR

func (o *PortInfo255) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PortInfo3

type PortInfo3 struct {
	Status       uint32 `idl:"name:dwStatus" json:"status"`
	StatusString string `idl:"name:pszStatus;string" json:"status_string"`
	Severity     uint32 `idl:"name:dwSeverity" json:"severity"`
}

PortInfo3 structure represents PORT_INFO_3 RPC structure.

func (*PortInfo3) MarshalNDR

func (o *PortInfo3) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PortInfo3) UnmarshalNDR

func (o *PortInfo3) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PortVarContainer

type PortVarContainer struct {
	MonitorDataLength uint32 `idl:"name:cbMonitorData" json:"monitor_data_length"`
	MonitorData       []byte `idl:"name:pMonitorData;size_is:(cbMonitorData);pointer:unique" json:"monitor_data"`
}

PortVarContainer structure represents PORT_VAR_CONTAINER RPC structure.

func (*PortVarContainer) MarshalNDR

func (o *PortVarContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PortVarContainer) UnmarshalNDR

func (o *PortVarContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrintJobNamedProperty

type PrintJobNamedProperty struct {
	PropertyName  string                 `idl:"name:propertyName;string" json:"property_name"`
	PropertyValue *PrintJobPropertyValue `idl:"name:propertyValue" json:"property_value"`
}

PrintJobNamedProperty structure represents RPC_PrintJobNamedProperty RPC structure.

func (*PrintJobNamedProperty) MarshalNDR

func (o *PrintJobNamedProperty) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrintJobNamedProperty) UnmarshalNDR

func (o *PrintJobNamedProperty) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrintJobPropertyType

type PrintJobPropertyType uint16

PrintJobPropertyType type represents RPC_EPrintJobPropertyType RPC enumeration.

var (
	PrintJobPropertyTypeString PrintJobPropertyType = 1
	PrintJobPropertyTypeInt32  PrintJobPropertyType = 2
	PrintJobPropertyTypeInt64  PrintJobPropertyType = 3
	PrintJobPropertyTypeByte   PrintJobPropertyType = 4
	PrintJobPropertyTypeBuffer PrintJobPropertyType = 5
)

func (PrintJobPropertyType) String

func (o PrintJobPropertyType) String() string

type PrintJobPropertyValue

type PrintJobPropertyValue struct {
	PropertyType PrintJobPropertyType         `idl:"name:ePropertyType" json:"property_type"`
	Value        *PrintJobPropertyValue_Value `idl:"name:value;switch_is:ePropertyType" json:"value"`
}

PrintJobPropertyValue structure represents RPC_PrintJobPropertyValue RPC structure.

func (*PrintJobPropertyValue) MarshalNDR

func (o *PrintJobPropertyValue) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrintJobPropertyValue) UnmarshalNDR

func (o *PrintJobPropertyValue) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrintJobPropertyValue_PropertyBlob

type PrintJobPropertyValue_PropertyBlob struct {
	PropertyBlob *PrintJobPropertyValue_Value_PropertyBlob `idl:"name:propertyBlob" json:"property_blob"`
}

PrintJobPropertyValue_PropertyBlob structure represents PrintJobPropertyValue_Value RPC union arm.

It has following labels: 5

func (*PrintJobPropertyValue_PropertyBlob) MarshalNDR

func (*PrintJobPropertyValue_PropertyBlob) UnmarshalNDR

type PrintJobPropertyValue_PropertyByte

type PrintJobPropertyValue_PropertyByte struct {
	PropertyByte uint8 `idl:"name:propertyByte" json:"property_byte"`
}

PrintJobPropertyValue_PropertyByte structure represents PrintJobPropertyValue_Value RPC union arm.

It has following labels: 4

func (*PrintJobPropertyValue_PropertyByte) MarshalNDR

func (*PrintJobPropertyValue_PropertyByte) UnmarshalNDR

type PrintJobPropertyValue_PropertyInt32

type PrintJobPropertyValue_PropertyInt32 struct {
	PropertyInt32 int32 `idl:"name:propertyInt32" json:"property_int32"`
}

PrintJobPropertyValue_PropertyInt32 structure represents PrintJobPropertyValue_Value RPC union arm.

It has following labels: 2

func (*PrintJobPropertyValue_PropertyInt32) MarshalNDR

func (*PrintJobPropertyValue_PropertyInt32) UnmarshalNDR

type PrintJobPropertyValue_PropertyInt64

type PrintJobPropertyValue_PropertyInt64 struct {
	PropertyInt64 int64 `idl:"name:propertyInt64" json:"property_int64"`
}

PrintJobPropertyValue_PropertyInt64 structure represents PrintJobPropertyValue_Value RPC union arm.

It has following labels: 3

func (*PrintJobPropertyValue_PropertyInt64) MarshalNDR

func (*PrintJobPropertyValue_PropertyInt64) UnmarshalNDR

type PrintJobPropertyValue_PropertyString

type PrintJobPropertyValue_PropertyString struct {
	PropertyString string `idl:"name:propertyString;string" json:"property_string"`
}

PrintJobPropertyValue_PropertyString structure represents PrintJobPropertyValue_Value RPC union arm.

It has following labels: 1

func (*PrintJobPropertyValue_PropertyString) MarshalNDR

func (*PrintJobPropertyValue_PropertyString) UnmarshalNDR

type PrintJobPropertyValue_Value

type PrintJobPropertyValue_Value struct {
	// Types that are assignable to Value
	//
	// *PrintJobPropertyValue_PropertyString
	// *PrintJobPropertyValue_PropertyInt32
	// *PrintJobPropertyValue_PropertyInt64
	// *PrintJobPropertyValue_PropertyByte
	// *PrintJobPropertyValue_PropertyBlob
	Value is_PrintJobPropertyValue_Value `json:"value"`
}

PrintJobPropertyValue_Value structure represents RPC_PrintJobPropertyValue union anonymous member.

func (*PrintJobPropertyValue_Value) GetValue

func (o *PrintJobPropertyValue_Value) GetValue() any

func (*PrintJobPropertyValue_Value) MarshalUnionNDR

func (o *PrintJobPropertyValue_Value) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error

func (*PrintJobPropertyValue_Value) NDRSwitchValue

func (o *PrintJobPropertyValue_Value) NDRSwitchValue(sw uint16) uint16

func (*PrintJobPropertyValue_Value) UnmarshalUnionNDR

func (o *PrintJobPropertyValue_Value) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error

type PrintJobPropertyValue_Value_PropertyBlob

type PrintJobPropertyValue_Value_PropertyBlob struct {
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
	Buffer       []byte `idl:"name:pBuf;size_is:(cbBuf)" json:"buffer"`
}

PrintJobPropertyValue_Value_PropertyBlob structure represents RPC_PrintJobPropertyValue structure anonymous member.

func (*PrintJobPropertyValue_Value_PropertyBlob) MarshalNDR

func (*PrintJobPropertyValue_Value_PropertyBlob) UnmarshalNDR

type PrintNamedProperty

type PrintNamedProperty struct {
	// propertyName: A pointer to a string that specifies the name of the property.
	PropertyName string `idl:"name:propertyName;string" json:"property_name"`
	// propertyValue: An RpcPrintPropertyValue structure (section 2.2.2).
	//
	// When used as an input value, the propertyName member and the ePropertyType member
	// of propertyValue MUST be one of the following pairs:
	//
	//	+--------------+---------------+
	//	|              |               |
	//	| PROPERTYNAME | PROPERTYVALUE |
	//	|              |               |
	//	+--------------+---------------+
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//
	// When used as an output value, the propertyName and the ePropertyType member of propertyValue
	// MUST be one of the following pairs:
	//
	//	+--------------+---------------+
	//	|              |               |
	//	| PROPERTYNAME | PROPERTYVALUE |
	//	|              |               |
	//	+--------------+---------------+
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	//	|
	//	+--------------+---------------+
	PropertyValue *PrintPropertyValue `idl:"name:propertyValue" json:"property_value"`
}

PrintNamedProperty structure represents RpcPrintNamedProperty RPC structure.

The RpcPrintNamedProperty structure specifies a name/typed-value pair that defines a single property.

func (*PrintNamedProperty) MarshalNDR

func (o *PrintNamedProperty) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrintNamedProperty) UnmarshalNDR

func (o *PrintNamedProperty) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrintPropertiesCollection

type PrintPropertiesCollection struct {
	// numberOfProperties: The number of properties in the collection, which MUST be between
	// zero and 50, inclusive.
	NumberOfProperties uint32 `idl:"name:numberOfProperties" json:"number_of_properties"`
	// propertiesCollection: A pointer to an array of RpcPrintNamedProperty structures (section
	// 2.2.3).
	//
	// When used as input to specify notification filter settings, the following properties
	// MUST be present in the collection pointed to by the propertiesCollection member:
	//
	// * "RemoteNotifyFilter Flags"
	//
	// * "RemoteNotifyFilter Options"
	//
	// * "RemoteNotifyFilter NotifyOptions"
	//
	// * "RemoteNotifyFilter Color"
	//
	// When used as output to return notification data, the following properties MUST be
	// present in the collection pointed to by the propertiesCollection member:
	//
	// * "RemoteNotifyData Flags"
	//
	// * "RemoteNotifyData Info"
	//
	// * "RemoteNotifyData Color"
	PropertiesCollection []*PrintNamedProperty `idl:"name:propertiesCollection;size_is:(numberOfProperties);pointer:unique" json:"properties_collection"`
}

PrintPropertiesCollection structure represents RpcPrintPropertiesCollection RPC structure.

The RpcPrintPropertiesCollection structure holds a collection of name/typed-value pairs.

func (*PrintPropertiesCollection) MarshalNDR

func (o *PrintPropertiesCollection) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrintPropertiesCollection) UnmarshalNDR

func (o *PrintPropertiesCollection) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrintPropertyType

type PrintPropertyType uint16

PrintPropertyType type represents EPrintPropertyType RPC enumeration.

The EPrintPropertyType enumeration defines the data types for different printing properties.

var (
	// kPropertyTypeString: A string data type.
	PrintPropertyTypeString PrintPropertyType = 1
	// kPropertyTypeInt32: A 32-bit signed integer.
	PrintPropertyTypeInt32 PrintPropertyType = 2
	// kPropertyTypeInt64: A 64-bit signed integer.
	PrintPropertyTypeInt64 PrintPropertyType = 3
	// kPropertyTypeByte: A BYTE.
	PrintPropertyTypeByte PrintPropertyType = 4
	// kPropertyTypeTime: The SYSTEMTIME_CONTAINER data type, as specified in [MS-RPRN]
	// section 2.2.1.2.16.
	PrintPropertyTypeTime PrintPropertyType = 5
	// kPropertyTypeDevMode: The DEVMODE_CONTAINER data type, as specified in [MS-RPRN]
	// section 2.2.1.2.1.
	PrintPropertyTypeDevMode PrintPropertyType = 6
	// kPropertyTypeSD: The SECURITY_CONTAINER data type, as specified in [MS-RPRN] section
	// 2.2.1.2.13.
	PrintPropertyTypeSD PrintPropertyType = 7
	// kPropertyTypeNotificationReply: The NOTIFY_REPLY_CONTAINER data type, as specified
	// in section 2.2.7.
	PrintPropertyTypeNotificationReply PrintPropertyType = 8
	// kPropertyTypeNotificationOptions: The NOTIFY_OPTIONS_CONTAINER data type, as specified
	// in section 2.2.6.
	PrintPropertyTypeNotificationOptions PrintPropertyType = 9
)

func (PrintPropertyType) String

func (o PrintPropertyType) String() string

type PrintPropertyValue

type PrintPropertyValue struct {
	// ePropertyType: A value from the EPrintPropertyType enumeration that specifies the
	// data type of the variable.
	PropertyType PrintPropertyType `idl:"name:ePropertyType" json:"property_type"`
	// value: An information structure that corresponds to the type of property specified
	// by the ePropertyType member. Information containers and structures are defined in
	// [MS-RPRN] sections 2.2.1 and 2.2.2.
	Value *PrintPropertyValue_Value `idl:"name:value;switch_is:ePropertyType" json:"value"`
}

PrintPropertyValue structure represents RpcPrintPropertyValue RPC structure.

The RpcPrintPropertyValue structure specifies a data type and its value. Data types are members of the enumeration EPrintPropertyType, specified in section 2.2.1.

func (*PrintPropertyValue) MarshalNDR

func (o *PrintPropertyValue) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrintPropertyValue) UnmarshalNDR

func (o *PrintPropertyValue) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrintPropertyValue_PropertyByte

type PrintPropertyValue_PropertyByte struct {
	// propertyByte: A BYTE.
	PropertyByte uint8 `idl:"name:propertyByte" json:"property_byte"`
}

PrintPropertyValue_PropertyByte structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 4

func (*PrintPropertyValue_PropertyByte) MarshalNDR

func (*PrintPropertyValue_PropertyByte) UnmarshalNDR

type PrintPropertyValue_PropertyDevModeContainer

type PrintPropertyValue_PropertyDevModeContainer struct {
	// propertyDevModeContainer: A DEVMODE_CONTAINER, specified in [MS-RPRN] section 2.2.1.2.1.
	PropertyDevModeContainer *DevModeContainer `idl:"name:propertyDevModeContainer" json:"property_dev_mode_container"`
}

PrintPropertyValue_PropertyDevModeContainer structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 6

func (*PrintPropertyValue_PropertyDevModeContainer) MarshalNDR

func (*PrintPropertyValue_PropertyDevModeContainer) UnmarshalNDR

type PrintPropertyValue_PropertyInt32

type PrintPropertyValue_PropertyInt32 struct {
	// propertyInt32: A 32-bit signed integer.
	PropertyInt32 int32 `idl:"name:propertyInt32" json:"property_int32"`
}

PrintPropertyValue_PropertyInt32 structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 2

func (*PrintPropertyValue_PropertyInt32) MarshalNDR

func (*PrintPropertyValue_PropertyInt32) UnmarshalNDR

type PrintPropertyValue_PropertyInt64

type PrintPropertyValue_PropertyInt64 struct {
	// propertyInt64: A 64-bit signed integer.
	PropertyInt64 int64 `idl:"name:propertyInt64" json:"property_int64"`
}

PrintPropertyValue_PropertyInt64 structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 3

func (*PrintPropertyValue_PropertyInt64) MarshalNDR

func (*PrintPropertyValue_PropertyInt64) UnmarshalNDR

type PrintPropertyValue_PropertyOptionsContainer

type PrintPropertyValue_PropertyOptionsContainer struct {
	// propertyOptionsContainer: A NOTIFY_OPTIONS_CONTAINER, specified in section 2.2.6.
	PropertyOptionsContainer *NotifyOptionsContainer `idl:"name:propertyOptionsContainer" json:"property_options_container"`
}

PrintPropertyValue_PropertyOptionsContainer structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 9

func (*PrintPropertyValue_PropertyOptionsContainer) MarshalNDR

func (*PrintPropertyValue_PropertyOptionsContainer) UnmarshalNDR

type PrintPropertyValue_PropertyReplyContainer

type PrintPropertyValue_PropertyReplyContainer struct {
	// propertyReplyContainer: A NOTIFY_REPLY_CONTAINER, specified in section 2.2.7.
	PropertyReplyContainer *NotifyReplyContainer `idl:"name:propertyReplyContainer" json:"property_reply_container"`
}

PrintPropertyValue_PropertyReplyContainer structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 8

func (*PrintPropertyValue_PropertyReplyContainer) MarshalNDR

func (*PrintPropertyValue_PropertyReplyContainer) UnmarshalNDR

type PrintPropertyValue_PropertySDContainer

type PrintPropertyValue_PropertySDContainer struct {
	// propertySDContainer: A SECURITY_CONTAINER, specified in [MS-RPRN] section 2.2.1.2.13.
	PropertySDContainer *SecurityContainer `idl:"name:propertySDContainer" json:"property_sd_container"`
}

PrintPropertyValue_PropertySDContainer structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 7

func (*PrintPropertyValue_PropertySDContainer) MarshalNDR

func (*PrintPropertyValue_PropertySDContainer) UnmarshalNDR

type PrintPropertyValue_PropertyString

type PrintPropertyValue_PropertyString struct {
	// propertyString: A string.
	PropertyString string `idl:"name:propertyString;string" json:"property_string"`
}

PrintPropertyValue_PropertyString structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 1

func (*PrintPropertyValue_PropertyString) MarshalNDR

func (*PrintPropertyValue_PropertyString) UnmarshalNDR

type PrintPropertyValue_PropertyTimeContainer

type PrintPropertyValue_PropertyTimeContainer struct {
	// propertyTimeContainer: A SYSTEMTIME_CONTAINER, specified in [MS-RPRN] section 2.2.1.2.16.
	PropertyTimeContainer *SystemTimeContainer `idl:"name:propertyTimeContainer" json:"property_time_container"`
}

PrintPropertyValue_PropertyTimeContainer structure represents PrintPropertyValue_Value RPC union arm.

It has following labels: 5

func (*PrintPropertyValue_PropertyTimeContainer) MarshalNDR

func (*PrintPropertyValue_PropertyTimeContainer) UnmarshalNDR

type PrintPropertyValue_Value

type PrintPropertyValue_Value struct {
	// Types that are assignable to Value
	//
	// *PrintPropertyValue_PropertyString
	// *PrintPropertyValue_PropertyInt32
	// *PrintPropertyValue_PropertyInt64
	// *PrintPropertyValue_PropertyByte
	// *PrintPropertyValue_PropertyTimeContainer
	// *PrintPropertyValue_PropertyDevModeContainer
	// *PrintPropertyValue_PropertySDContainer
	// *PrintPropertyValue_PropertyReplyContainer
	// *PrintPropertyValue_PropertyOptionsContainer
	Value is_PrintPropertyValue_Value `json:"value"`
}

PrintPropertyValue_Value structure represents RpcPrintPropertyValue union anonymous member.

The RpcPrintPropertyValue structure specifies a data type and its value. Data types are members of the enumeration EPrintPropertyType, specified in section 2.2.1.

func (*PrintPropertyValue_Value) GetValue

func (o *PrintPropertyValue_Value) GetValue() any

func (*PrintPropertyValue_Value) MarshalUnionNDR

func (o *PrintPropertyValue_Value) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error

func (*PrintPropertyValue_Value) NDRSwitchValue

func (o *PrintPropertyValue_Value) NDRSwitchValue(sw uint16) uint16

func (*PrintPropertyValue_Value) UnmarshalUnionNDR

func (o *PrintPropertyValue_Value) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error

type Printer

type Printer dcetypes.ContextHandle

Printer structure represents PRINTER_HANDLE RPC structure.

func (*Printer) ContextHandle

func (o *Printer) ContextHandle() *dcetypes.ContextHandle

func (*Printer) MarshalNDR

func (o *Printer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Printer) UnmarshalNDR

func (o *Printer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterContainer

type PrinterContainer struct {
	Level       uint32                        `idl:"name:Level" json:"level"`
	PrinterInfo *PrinterContainer_PrinterInfo `idl:"name:PrinterInfo;switch_is:Level" json:"printer_info"`
}

PrinterContainer structure represents PRINTER_CONTAINER RPC structure.

func (*PrinterContainer) MarshalNDR

func (o *PrinterContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterContainer) UnmarshalNDR

func (o *PrinterContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterContainer_PrinterInfo

type PrinterContainer_PrinterInfo struct {
	// Types that are assignable to Value
	//
	// *PrinterContainer_PrinterInfo_PrinterInfoStress
	// *PrinterContainer_PrinterInfo_PrinterInfo1
	// *PrinterContainer_PrinterInfo_PrinterInfo2
	// *PrinterContainer_PrinterInfo_PrinterInfo3
	// *PrinterContainer_PrinterInfo_PrinterInfo4
	// *PrinterContainer_PrinterInfo_PrinterInfo5
	// *PrinterContainer_PrinterInfo_PrinterInfo6
	// *PrinterContainer_PrinterInfo_PrinterInfo7
	// *PrinterContainer_PrinterInfo_PrinterInfo8
	// *PrinterContainer_PrinterInfo_PrinterInfo9
	Value is_PrinterContainer_PrinterInfo `json:"value"`
}

PrinterContainer_PrinterInfo structure represents PRINTER_CONTAINER union anonymous member.

func (*PrinterContainer_PrinterInfo) GetValue

func (o *PrinterContainer_PrinterInfo) GetValue() any

func (*PrinterContainer_PrinterInfo) MarshalUnionNDR

func (o *PrinterContainer_PrinterInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*PrinterContainer_PrinterInfo) NDRSwitchValue

func (o *PrinterContainer_PrinterInfo) NDRSwitchValue(sw uint32) uint32

func (*PrinterContainer_PrinterInfo) UnmarshalUnionNDR

func (o *PrinterContainer_PrinterInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type PrinterContainer_PrinterInfo_PrinterInfo1

type PrinterContainer_PrinterInfo_PrinterInfo1 struct {
	PrinterInfo1 *PrinterInfo1 `idl:"name:pPrinterInfo1" json:"printer_info1"`
}

PrinterContainer_PrinterInfo_PrinterInfo1 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 1

func (*PrinterContainer_PrinterInfo_PrinterInfo1) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo1) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo2

type PrinterContainer_PrinterInfo_PrinterInfo2 struct {
	PrinterInfo2 *PrinterInfo2 `idl:"name:pPrinterInfo2" json:"printer_info2"`
}

PrinterContainer_PrinterInfo_PrinterInfo2 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 2

func (*PrinterContainer_PrinterInfo_PrinterInfo2) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo2) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo3

type PrinterContainer_PrinterInfo_PrinterInfo3 struct {
	PrinterInfo3 *PrinterInfo3 `idl:"name:pPrinterInfo3" json:"printer_info3"`
}

PrinterContainer_PrinterInfo_PrinterInfo3 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 3

func (*PrinterContainer_PrinterInfo_PrinterInfo3) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo3) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo4

type PrinterContainer_PrinterInfo_PrinterInfo4 struct {
	PrinterInfo4 *PrinterInfo4 `idl:"name:pPrinterInfo4" json:"printer_info4"`
}

PrinterContainer_PrinterInfo_PrinterInfo4 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 4

func (*PrinterContainer_PrinterInfo_PrinterInfo4) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo4) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo5

type PrinterContainer_PrinterInfo_PrinterInfo5 struct {
	PrinterInfo5 *PrinterInfo5 `idl:"name:pPrinterInfo5" json:"printer_info5"`
}

PrinterContainer_PrinterInfo_PrinterInfo5 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 5

func (*PrinterContainer_PrinterInfo_PrinterInfo5) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo5) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo6

type PrinterContainer_PrinterInfo_PrinterInfo6 struct {
	PrinterInfo6 *PrinterInfo6 `idl:"name:pPrinterInfo6" json:"printer_info6"`
}

PrinterContainer_PrinterInfo_PrinterInfo6 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 6

func (*PrinterContainer_PrinterInfo_PrinterInfo6) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo6) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo7

type PrinterContainer_PrinterInfo_PrinterInfo7 struct {
	PrinterInfo7 *PrinterInfo7 `idl:"name:pPrinterInfo7" json:"printer_info7"`
}

PrinterContainer_PrinterInfo_PrinterInfo7 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 7

func (*PrinterContainer_PrinterInfo_PrinterInfo7) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo7) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo8

type PrinterContainer_PrinterInfo_PrinterInfo8 struct {
	PrinterInfo8 *PrinterInfo8 `idl:"name:pPrinterInfo8" json:"printer_info8"`
}

PrinterContainer_PrinterInfo_PrinterInfo8 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 8

func (*PrinterContainer_PrinterInfo_PrinterInfo8) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo8) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfo9

type PrinterContainer_PrinterInfo_PrinterInfo9 struct {
	PrinterInfo9 *PrinterInfo9 `idl:"name:pPrinterInfo9" json:"printer_info9"`
}

PrinterContainer_PrinterInfo_PrinterInfo9 structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 9

func (*PrinterContainer_PrinterInfo_PrinterInfo9) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfo9) UnmarshalNDR

type PrinterContainer_PrinterInfo_PrinterInfoStress

type PrinterContainer_PrinterInfo_PrinterInfoStress struct {
	PrinterInfoStress *PrinterInfoStress `idl:"name:pPrinterInfoStress" json:"printer_info_stress"`
}

PrinterContainer_PrinterInfo_PrinterInfoStress structure represents PrinterContainer_PrinterInfo RPC union arm.

It has following labels: 0

func (*PrinterContainer_PrinterInfo_PrinterInfoStress) MarshalNDR

func (*PrinterContainer_PrinterInfo_PrinterInfoStress) UnmarshalNDR

type PrinterInfo1

type PrinterInfo1 struct {
	Flags       uint32 `idl:"name:Flags" json:"flags"`
	Description string `idl:"name:pDescription;string" json:"description"`
	Name        string `idl:"name:pName;string" json:"name"`
	Comment     string `idl:"name:pComment;string" json:"comment"`
}

PrinterInfo1 structure represents PRINTER_INFO_1 RPC structure.

func (*PrinterInfo1) MarshalNDR

func (o *PrinterInfo1) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo1) UnmarshalNDR

func (o *PrinterInfo1) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo2

type PrinterInfo2 struct {
	ServerName         string                   `idl:"name:pServerName;string" json:"server_name"`
	PrinterName        string                   `idl:"name:pPrinterName;string" json:"printer_name"`
	ShareName          string                   `idl:"name:pShareName;string" json:"share_name"`
	PortName           string                   `idl:"name:pPortName;string" json:"port_name"`
	DriverName         string                   `idl:"name:pDriverName;string" json:"driver_name"`
	Comment            string                   `idl:"name:pComment;string" json:"comment"`
	Location           string                   `idl:"name:pLocation;string" json:"location"`
	DevMode            *DevMode                 `idl:"name:pDevMode" json:"dev_mode"`
	SepFile            string                   `idl:"name:pSepFile;string" json:"sep_file"`
	PrintProcessor     string                   `idl:"name:pPrintProcessor;string" json:"print_processor"`
	DataType           string                   `idl:"name:pDatatype;string" json:"data_type"`
	Parameters         string                   `idl:"name:pParameters;string" json:"parameters"`
	SecurityDescriptor *dtyp.SecurityDescriptor `idl:"name:pSecurityDescriptor" json:"security_descriptor"`
	Attributes         uint32                   `idl:"name:Attributes" json:"attributes"`
	Priority           uint32                   `idl:"name:Priority" json:"priority"`
	DefaultPriority    uint32                   `idl:"name:DefaultPriority" json:"default_priority"`
	StartTime          uint32                   `idl:"name:StartTime" json:"start_time"`
	UntilTime          uint32                   `idl:"name:UntilTime" json:"until_time"`
	Status             uint32                   `idl:"name:Status" json:"status"`
	JobsCount          uint32                   `idl:"name:cJobs" json:"jobs_count"`
	AveragePpm         uint32                   `idl:"name:AveragePPM" json:"average_ppm"`
}

PrinterInfo2 structure represents PRINTER_INFO_2 RPC structure.

func (*PrinterInfo2) MarshalNDR

func (o *PrinterInfo2) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo2) UnmarshalNDR

func (o *PrinterInfo2) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo3

type PrinterInfo3 struct {
	SecurityDescriptor *dtyp.SecurityDescriptor `idl:"name:pSecurityDescriptor" json:"security_descriptor"`
}

PrinterInfo3 structure represents PRINTER_INFO_3 RPC structure.

func (*PrinterInfo3) MarshalNDR

func (o *PrinterInfo3) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo3) UnmarshalNDR

func (o *PrinterInfo3) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo4

type PrinterInfo4 struct {
	PrinterName string `idl:"name:pPrinterName;string" json:"printer_name"`
	ServerName  string `idl:"name:pServerName;string" json:"server_name"`
	Attributes  uint32 `idl:"name:Attributes" json:"attributes"`
}

PrinterInfo4 structure represents PRINTER_INFO_4 RPC structure.

func (*PrinterInfo4) MarshalNDR

func (o *PrinterInfo4) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo4) UnmarshalNDR

func (o *PrinterInfo4) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo5

type PrinterInfo5 struct {
	PrinterName              string `idl:"name:pPrinterName;string" json:"printer_name"`
	PortName                 string `idl:"name:pPortName;string" json:"port_name"`
	Attributes               uint32 `idl:"name:Attributes" json:"attributes"`
	DeviceNotSelectedTimeout uint32 `idl:"name:DeviceNotSelectedTimeout" json:"device_not_selected_timeout"`
	TransmissionRetryTimeout uint32 `idl:"name:TransmissionRetryTimeout" json:"transmission_retry_timeout"`
}

PrinterInfo5 structure represents PRINTER_INFO_5 RPC structure.

func (*PrinterInfo5) MarshalNDR

func (o *PrinterInfo5) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo5) UnmarshalNDR

func (o *PrinterInfo5) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo6

type PrinterInfo6 struct {
	Status uint32 `idl:"name:dwStatus" json:"status"`
}

PrinterInfo6 structure represents PRINTER_INFO_6 RPC structure.

func (*PrinterInfo6) MarshalNDR

func (o *PrinterInfo6) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo6) UnmarshalNDR

func (o *PrinterInfo6) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo7

type PrinterInfo7 struct {
	ObjectGUID string `idl:"name:pszObjectGUID;string" json:"object_guid"`
	Action     uint32 `idl:"name:dwAction" json:"action"`
}

PrinterInfo7 structure represents PRINTER_INFO_7 RPC structure.

func (*PrinterInfo7) MarshalNDR

func (o *PrinterInfo7) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo7) UnmarshalNDR

func (o *PrinterInfo7) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo8

type PrinterInfo8 struct {
	DevMode *DevMode `idl:"name:pDevMode" json:"dev_mode"`
}

PrinterInfo8 structure represents PRINTER_INFO_8 RPC structure.

func (*PrinterInfo8) MarshalNDR

func (o *PrinterInfo8) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo8) UnmarshalNDR

func (o *PrinterInfo8) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfo9

type PrinterInfo9 struct {
	DevMode *DevMode `idl:"name:pDevMode" json:"dev_mode"`
}

PrinterInfo9 structure represents PRINTER_INFO_9 RPC structure.

func (*PrinterInfo9) MarshalNDR

func (o *PrinterInfo9) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfo9) UnmarshalNDR

func (o *PrinterInfo9) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type PrinterInfoStress

type PrinterInfoStress struct {
	PrinterName                   string           `idl:"name:pPrinterName;string" json:"printer_name"`
	ServerName                    string           `idl:"name:pServerName;string" json:"server_name"`
	JobsCount                     uint32           `idl:"name:cJobs" json:"jobs_count"`
	TotalJobsCount                uint32           `idl:"name:cTotalJobs" json:"total_jobs_count"`
	TotalBytesCount               uint32           `idl:"name:cTotalBytes" json:"total_bytes_count"`
	UpTime                        *dtyp.SystemTime `idl:"name:stUpTime" json:"up_time"`
	MaxcReference                 uint32           `idl:"name:MaxcRef" json:"maxc_reference"`
	TotalPagesPrintedCount        uint32           `idl:"name:cTotalPagesPrinted" json:"total_pages_printed_count"`
	GetVersion                    uint32           `idl:"name:dwGetVersion" json:"get_version"`
	FreeBuild                     uint32           `idl:"name:fFreeBuild" json:"free_build"`
	SpoolingCount                 uint32           `idl:"name:cSpooling" json:"spooling_count"`
	MaxSpoolingCount              uint32           `idl:"name:cMaxSpooling" json:"max_spooling_count"`
	ReferenceCount                uint32           `idl:"name:cRef" json:"reference_count"`
	ErrorOutOfPaperCount          uint32           `idl:"name:cErrorOutOfPaper" json:"error_out_of_paper_count"`
	ErrorNotReadyCount            uint32           `idl:"name:cErrorNotReady" json:"error_not_ready_count"`
	JobErrorCount                 uint32           `idl:"name:cJobError" json:"job_error_count"`
	NumberOfProcessors            uint32           `idl:"name:dwNumberOfProcessors" json:"number_of_processors"`
	ProcessorType                 uint32           `idl:"name:dwProcessorType" json:"processor_type"`
	HighPartTotalBytes            uint32           `idl:"name:dwHighPartTotalBytes" json:"high_part_total_bytes"`
	ChangeIDCount                 uint32           `idl:"name:cChangeID" json:"change_id_count"`
	LastError                     uint32           `idl:"name:dwLastError" json:"last_error"`
	Status                        uint32           `idl:"name:Status" json:"status"`
	EnumerateNetworkPrintersCount uint32           `idl:"name:cEnumerateNetworkPrinters" json:"enumerate_network_printers_count"`
	AddNetPrintersCount           uint32           `idl:"name:cAddNetPrinters" json:"add_net_printers_count"`
	ProcessorArchitecture         uint16           `idl:"name:wProcessorArchitecture" json:"processor_architecture"`
	ProcessorLevel                uint16           `idl:"name:wProcessorLevel" json:"processor_level"`
	ReferenceICCount              uint32           `idl:"name:cRefIC" json:"reference_ic_count"`
	// contains filtered or unexported fields
}

PrinterInfoStress structure represents PRINTER_INFO_STRESS RPC structure.

func (*PrinterInfoStress) MarshalNDR

func (o *PrinterInfoStress) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*PrinterInfoStress) UnmarshalNDR

func (o *PrinterInfoStress) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ReadPrinterRequest

type ReadPrinterRequest struct {
	// hPrinter: A handle to a job object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer `idl:"name:hPrinter" json:"printer"`
	BufferLength uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

ReadPrinterRequest structure represents the RpcAsyncReadPrinter operation request

func (*ReadPrinterRequest) MarshalNDR

func (o *ReadPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ReadPrinterRequest) UnmarshalNDR

func (o *ReadPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ReadPrinterResponse

type ReadPrinterResponse struct {
	Buffer           []byte `idl:"name:pBuf;size_is:(cbBuf)" json:"buffer"`
	NoBytesReadCount uint32 `idl:"name:pcNoBytesRead" json:"no_bytes_read_count"`
	// Return: The RpcAsyncReadPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ReadPrinterResponse structure represents the RpcAsyncReadPrinter operation response

func (*ReadPrinterResponse) MarshalNDR

func (o *ReadPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ReadPrinterResponse) UnmarshalNDR

func (o *ReadPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type Rectangle

type Rectangle struct {
	Left   int32 `idl:"name:left" json:"left"`
	Top    int32 `idl:"name:top" json:"top"`
	Right  int32 `idl:"name:right" json:"right"`
	Bottom int32 `idl:"name:bottom" json:"bottom"`
}

Rectangle structure represents RECTL RPC structure.

func (*Rectangle) MarshalNDR

func (o *Rectangle) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Rectangle) UnmarshalNDR

func (o *Rectangle) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RemoteNotify

type RemoteNotify dcetypes.ContextHandle

RemoteNotify structure represents RMTNTFY_HANDLE RPC structure.

func (*RemoteNotify) ContextHandle

func (o *RemoteNotify) ContextHandle() *dcetypes.ContextHandle

func (*RemoteNotify) MarshalNDR

func (o *RemoteNotify) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*RemoteNotify) UnmarshalNDR

func (o *RemoteNotify) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type RemoteWinspoolClient

type RemoteWinspoolClient interface {

	// RpcAsyncOpenPrinter retrieves a handle to a specified printer, port, print job or
	// print server. A client uses this method to obtain a print handle to an existing printer
	// on a remote computer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcOpenPrinterEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.14.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.14.
	OpenPrinter(context.Context, *OpenPrinterRequest, ...dcerpc.CallOption) (*OpenPrinterResponse, error)

	// RpcAsyncAddPrinter installs a printer on the print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPrinterEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.15.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.15.
	AddPrinter(context.Context, *AddPrinterRequest, ...dcerpc.CallOption) (*AddPrinterResponse, error)

	// RpcAsyncSetJob pauses, resumes, cancels, or restarts a print job on a specified printer.
	// This method can also set print job parameters, including the job priority and document
	// name.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.3.1.
	SetJob(context.Context, *SetJobRequest, ...dcerpc.CallOption) (*SetJobResponse, error)

	// RpcAsyncGetJob retrieves information about a specified print job on a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.3.2.
	GetJob(context.Context, *GetJobRequest, ...dcerpc.CallOption) (*GetJobResponse, error)

	// RpcAsyncEnumJobs retrieves information about a specified set of print jobs on a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumJobs.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.3.3.
	EnumJobs(context.Context, *EnumJobsRequest, ...dcerpc.CallOption) (*EnumJobsResponse, error)

	// RpcAsyncAddJob does not perform any function, but returns ERROR_INVALID_PARAMETER.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.4.
	//
	// Return Values: This method MUST return ERROR_INVALID_PARAMETER ([MS-ERREF] section
	// 2.2).
	//
	// This method MUST be implemented to ensure compatibility with protocol clients.
	AddJob(context.Context, *AddJobRequest, ...dcerpc.CallOption) (*AddJobResponse, error)

	// RpcAsyncScheduleJob does not perform any function, but returns ERROR_SPL_NO_ADDJOB.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcScheduleJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.5.
	//
	// Return Values: This method MUST return ERROR_SPL_NO_ADDJOB ([MS-ERREF] section 2.2).
	//
	// This method MUST be implemented to ensure compatibility with protocol clients.
	ScheduleJob(context.Context, *ScheduleJobRequest, ...dcerpc.CallOption) (*ScheduleJobResponse, error)

	// RpcAsyncDeletePrinter deletes the specified printer object.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.4.
	//
	// The client MUST call RpcAsyncClosePrinter (section 3.1.4.1.10) with the PRINTER_HANDLE
	// ([MS-RPRN] section 2.2.1.1.4) represented by the hPrinter parameter after calling
	// RpcAsyncDeletePrinter.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.4.
	DeletePrinter(context.Context, *DeletePrinterRequest, ...dcerpc.CallOption) (*DeletePrinterResponse, error)

	// RpcAsyncSetPrinter sets configuration information, initialization data, and security
	// information of the specified printer to the values contained in the method parameters.
	// It can also perform an action to change the active status of the printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.5.
	SetPrinter(context.Context, *SetPrinterRequest, ...dcerpc.CallOption) (*SetPrinterResponse, error)

	// RpcAsyncGetPrinter retrieves information about a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.6.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.6.
	GetPrinter(context.Context, *GetPrinterRequest, ...dcerpc.CallOption) (*GetPrinterResponse, error)

	// RpcStartDocPrinter notifies a specified printer that a document is being spooled
	// for printing.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcStartDocPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.1.
	StartDocPrinter(context.Context, *StartDocPrinterRequest, ...dcerpc.CallOption) (*StartDocPrinterResponse, error)

	// RpcAsyncStartPagePrinter notifies a specified printer that a page is about to be
	// printed.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcStartPagePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.2.
	StartPagePrinter(context.Context, *StartPagePrinterRequest, ...dcerpc.CallOption) (*StartPagePrinterResponse, error)

	// RpcAsyncWritePrinter adds data to the file representing the spool file for a specified
	// printer, if the spooling option is turned on; or it sends data to the device directly,
	// if the printer is configured for direct printing.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcWritePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.3.
	WritePrinter(context.Context, *WritePrinterRequest, ...dcerpc.CallOption) (*WritePrinterResponse, error)

	// RpcAsyncEndPagePrinter notifies a specified printer that the application is at the
	// end of a page in a print job.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEndPagePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.4.
	EndPagePrinter(context.Context, *EndPagePrinterRequest, ...dcerpc.CallOption) (*EndPagePrinterResponse, error)

	// RpcAsyncEndDocPrinter signals the completion of the current print job on a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEndDocPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.7.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.7.
	EndDocPrinter(context.Context, *EndDocPrinterRequest, ...dcerpc.CallOption) (*EndDocPrinterResponse, error)

	// RpcAsyncAbortPrinter aborts the current document on a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAbortPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.5.
	AbortPrinter(context.Context, *AbortPrinterRequest, ...dcerpc.CallOption) (*AbortPrinterResponse, error)

	// RpcAsyncGetPrinterData retrieves configuration data for the specified printer or
	// print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.7.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.7.
	GetPrinterData(context.Context, *GetPrinterDataRequest, ...dcerpc.CallOption) (*GetPrinterDataResponse, error)

	// RpcAsyncGetPrinterDataEx retrieves configuration data for the specified printer or
	// print server. This method extends RpcAsyncGetPrinterData (section 3.1.4.1.6) and
	// can retrieve values stored under the specified key by RpcAsyncSetPrinterDataEx (section
	// 3.1.4.1.9).
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.19.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.19.
	GetPrinterDataEx(context.Context, *GetPrinterDataExRequest, ...dcerpc.CallOption) (*GetPrinterDataExResponse, error)

	// RpcAsyncSetPrinterData sets configuration data for the specified printer or print
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.8.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.8.
	SetPrinterData(context.Context, *SetPrinterDataRequest, ...dcerpc.CallOption) (*SetPrinterDataResponse, error)

	// RpcAsyncSetPrinterDataEx sets configuration data for the specified printer or print
	// server. This method is similar to RpcAsyncSetPrinterData (section 3.1.4.1.8) but
	// also allows the caller to specify the registry key under which to store the data.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.18.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// specified in [MS-RPRN] section 3.1.4.2.18.
	SetPrinterDataEx(context.Context, *SetPrinterDataExRequest, ...dcerpc.CallOption) (*SetPrinterDataExResponse, error)

	// RpcAsyncClosePrinter closes a handle to a printer, server, job, or port object that
	// was previously opened by either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter
	// (section 3.1.4.1.2).
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcClosePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.9.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.9.
	ClosePrinter(context.Context, *ClosePrinterRequest, ...dcerpc.CallOption) (*ClosePrinterResponse, error)

	// RpcAsyncAddForm adds a form name to the list of supported printer forms.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.1.
	AddForm(context.Context, *AddFormRequest, ...dcerpc.CallOption) (*AddFormResponse, error)

	// RpcAsyncDeleteForm removes a form name from the list of supported printer forms.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeleteForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.2.
	DeleteForm(context.Context, *DeleteFormRequest, ...dcerpc.CallOption) (*DeleteFormResponse, error)

	// RpcAsyncGetForm retrieves information about a specified printer form.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.3.
	GetForm(context.Context, *GetFormRequest, ...dcerpc.CallOption) (*GetFormResponse, error)

	// RpcAsyncSetForm sets the printer form information for the specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.4.
	SetForm(context.Context, *SetFormRequest, ...dcerpc.CallOption) (*SetFormResponse, error)

	// RpcAsyncEnumForms enumerates the printer forms that the specified printer supports.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumForms.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.5.
	EnumForms(context.Context, *EnumFormsRequest, ...dcerpc.CallOption) (*EnumFormsResponse, error)

	// RpcAsyncGetPrinterDriver retrieves data about a specified printer driver on a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDriver2.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.6.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.6.
	GetPrinterDriver(context.Context, *GetPrinterDriverRequest, ...dcerpc.CallOption) (*GetPrinterDriverResponse, error)

	// RpcAsyncEnumPrinterData enumerates configuration data for a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.16.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.16.
	EnumPrinterData(context.Context, *EnumPrinterDataRequest, ...dcerpc.CallOption) (*EnumPrinterDataResponse, error)

	// RpcAsyncEnumPrinterDataEx enumerates all registry value names and data under the
	// key for the specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.20.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.20.
	EnumPrinterDataEx(context.Context, *EnumPrinterDataExRequest, ...dcerpc.CallOption) (*EnumPrinterDataExResponse, error)

	// RpcAsyncEnumPrinterKey enumerates the subkeys of a specified key for a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterKey.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.21.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.21.
	EnumPrinterKey(context.Context, *EnumPrinterKeyRequest, ...dcerpc.CallOption) (*EnumPrinterKeyResponse, error)

	// RpcAsyncDeletePrinterData deletes a specified value from the configuration of a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.17.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.17.
	DeletePrinterData(context.Context, *DeletePrinterDataRequest, ...dcerpc.CallOption) (*DeletePrinterDataResponse, error)

	// RpcAsyncDeletePrinterDataEx deletes a specified value from the configuration data
	// of a specified printer, which consists of a set of named and typed values stored
	// in a hierarchy of registry keys.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.22.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.22.
	DeletePrinterDataEx(context.Context, *DeletePrinterDataExRequest, ...dcerpc.CallOption) (*DeletePrinterDataExResponse, error)

	// RpcAsyncDeletePrinterKey deletes a specified key and all of its subkeys from the
	// configuration of a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterKey.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.23.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.23.
	DeletePrinterKey(context.Context, *DeletePrinterKeyRequest, ...dcerpc.CallOption) (*DeletePrinterKeyResponse, error)

	// RpcAsyncXcvData provides the means by which a port monitor client component can communicate
	// with its server-side counterpart, the actual port monitor hosted by the server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcXcvData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.5.
	XcvData(context.Context, *XcvDataRequest, ...dcerpc.CallOption) (*XcvDataResponse, error)

	// RpcAsyncSendRecvBidiData sends and receives bidirectional data. This method is used
	// to communicate with print monitors that support such data.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSendRecvBidiData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.27.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.27.
	SendRecvBIDIData(context.Context, *SendRecvBIDIDataRequest, ...dcerpc.CallOption) (*SendRecvBIDIDataResponse, error)

	// RpcAsyncCreatePrinterIC creates an information context for a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcCreatePrinterIC.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.10.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.10.
	CreatePrinterIC(context.Context, *CreatePrinterICRequest, ...dcerpc.CallOption) (*CreatePrinterICResponse, error)

	// RpcAsyncPlayGdiScriptOnPrinterIC returns font information for a printer connection.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcPlayGdiScriptOnPrinterIC.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.11.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.11.
	PlayGDIScriptOnPrinterIC(context.Context, *PlayGDIScriptOnPrinterICRequest, ...dcerpc.CallOption) (*PlayGDIScriptOnPrinterICResponse, error)

	// RpcAsyncDeletePrinterIC deletes a printer information context.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterIC.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.12.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.12.
	DeletePrinterIC(context.Context, *DeletePrinterICRequest, ...dcerpc.CallOption) (*DeletePrinterICResponse, error)

	// RpcAsyncEnumPrinters enumerates available local printers, printers on a specified
	// print server, printers in a specified domain, or print providers.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinters.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.1.
	EnumPrinters(context.Context, *EnumPrintersRequest, ...dcerpc.CallOption) (*EnumPrintersResponse, error)

	// RpcAsyncAddPrinterDriver installs a specified local or a remote printer driver on
	// a specified print server, and it links the configuration, data, and driver files.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPrinterDriverEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.8.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.8.
	AddPrinterDriver(context.Context, *AddPrinterDriverRequest, ...dcerpc.CallOption) (*AddPrinterDriverResponse, error)

	// RpcAsyncEnumPrinterDrivers enumerates the printer drivers installed on a specified
	// print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterDrivers.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.2.
	EnumPrinterDrivers(context.Context, *EnumPrinterDriversRequest, ...dcerpc.CallOption) (*EnumPrinterDriversResponse, error)

	// RpcAsyncGetPrinterDriverDirectory retrieves the path of the printer driver directory
	// on a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDriverDirectory.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.4.
	GetPrinterDriverDirectory(context.Context, *GetPrinterDriverDirectoryRequest, ...dcerpc.CallOption) (*GetPrinterDriverDirectoryResponse, error)

	// RpcAsyncDeletePrinterDriver removes the specified printer driver from the list of
	// supported drivers for a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterDriver.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.5.
	DeletePrinterDriver(context.Context, *DeletePrinterDriverRequest, ...dcerpc.CallOption) (*DeletePrinterDriverResponse, error)

	// RpcAsyncDeletePrinterDriverEx removes the specified printer driver from the list
	// of supported drivers on a specified print server, and deletes the files associated
	// with the driver. This method also can delete specific versions of the driver.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterDriverEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.7.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.7.
	DeletePrinterDriverEx(context.Context, *DeletePrinterDriverExRequest, ...dcerpc.CallOption) (*DeletePrinterDriverExResponse, error)

	// RpcAsyncAddPrintProcessor installs a specified print processor on the specified server
	// and adds its name to an internal list of supported print processors.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPrintProcessor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.1.
	AddPrintProcessor(context.Context, *AddPrintProcessorRequest, ...dcerpc.CallOption) (*AddPrintProcessorResponse, error)

	// RpcAsyncEnumPrintProcessors enumerates the print processors installed on a specified
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrintProcessors.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.2.
	EnumPrintProcessors(context.Context, *EnumPrintProcessorsRequest, ...dcerpc.CallOption) (*EnumPrintProcessorsResponse, error)

	// RpcAsyncGetPrintProcessorDirectory retrieves the path for the print processor on
	// the specified server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrintProcessorDirectory.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.3.
	GetPrintProcessorDirectory(context.Context, *GetPrintProcessorDirectoryRequest, ...dcerpc.CallOption) (*GetPrintProcessorDirectoryResponse, error)

	// RpcAsyncEnumPorts enumerates the ports that are available for printing on a specified
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPorts.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.1.
	EnumPorts(context.Context, *EnumPortsRequest, ...dcerpc.CallOption) (*EnumPortsResponse, error)

	// RpcAsyncEnumMonitors retrieves information about the port monitors installed on a
	// specified server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumMonitors.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.7.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.7.1.
	EnumMonitors(context.Context, *EnumMonitorsRequest, ...dcerpc.CallOption) (*EnumMonitorsResponse, error)

	// RpcAsyncAddPort adds a specified port name to the list of supported ports on a specified
	// print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPortEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.3.
	AddPort(context.Context, *AddPortRequest, ...dcerpc.CallOption) (*AddPortResponse, error)

	// RpcAsyncSetPort sets the status associated with a specified port on a specified print
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPort.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.4.
	SetPort(context.Context, *SetPortRequest, ...dcerpc.CallOption) (*SetPortResponse, error)

	// RpcAsyncAddMonitor installs a specified local port monitor, and links the configuration,
	// data, and monitor files on a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddMonitor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.7.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.7.2.
	AddMonitor(context.Context, *AddMonitorRequest, ...dcerpc.CallOption) (*AddMonitorResponse, error)

	// RpcAsyncDeleteMonitor removes a specified port monitor from a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeleteMonitor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.7.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.7.3.
	DeleteMonitor(context.Context, *DeleteMonitorRequest, ...dcerpc.CallOption) (*DeleteMonitorResponse, error)

	// RpcAsyncDeletePrintProcessor removes a specified print processor from a specified
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrintProcessor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.4.
	DeletePrintProcessor(context.Context, *DeletePrintProcessorRequest, ...dcerpc.CallOption) (*DeletePrintProcessorResponse, error)

	// RpcAsyncEnumPrintProcessorDatatypes enumerates the data types that a specified print
	// processor supports.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrintProcessorDatatypes.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.5.
	EnumPrintProcessorDataTypes(context.Context, *EnumPrintProcessorDataTypesRequest, ...dcerpc.CallOption) (*EnumPrintProcessorDataTypesResponse, error)

	// RpcAsyncAddPerMachineConnection persistently saves the configuration information
	// for a connection, including the print server name and the name of the print providers
	// for the specified connection.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPerMachineConnection.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.24.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.24.
	AddPerMachineConnection(context.Context, *AddPerMachineConnectionRequest, ...dcerpc.CallOption) (*AddPerMachineConnectionResponse, error)

	// RpcAsyncDeletePerMachineConnection deletes the stored connection configuration information
	// that corresponds to the pPrinterName parameter value.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePerMachineConnection.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.25.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.25.
	DeletePerMachineConnection(context.Context, *DeletePerMachineConnectionRequest, ...dcerpc.CallOption) (*DeletePerMachineConnectionResponse, error)

	// RpcAsyncEnumPerMachineConnections enumerates each of the per-machine connections
	// into a specified buffer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPerMachineConnections.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.26.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.26.
	EnumPerMachineConnections(context.Context, *EnumPerMachineConnectionsRequest, ...dcerpc.CallOption) (*EnumPerMachineConnectionsResponse, error)

	// RpcSyncRegisterForRemoteNotifications opens a notification handle by using a printer
	// handle or print server handle, to listen for remote printer change notifications.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion, or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	SyncRegisterForRemoteNotifications(context.Context, *SyncRegisterForRemoteNotificationsRequest, ...dcerpc.CallOption) (*SyncRegisterForRemoteNotificationsResponse, error)

	// RpcSyncUnRegisterForRemoteNotifications closes a notification handle opened by calling
	// RpcSyncRegisterForRemoteNotifications (section 3.1.4.9.1).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	SyncUnregisterForRemoteNotifications(context.Context, *SyncUnregisterForRemoteNotificationsRequest, ...dcerpc.CallOption) (*SyncUnregisterForRemoteNotificationsResponse, error)

	// RpcSyncRefreshRemoteNotifications gets notification information for all requested
	// members. This SHOULD be called by a client if the "RemoteNotifyData Flags" key in
	// the RpcPrintPropertiesCollection instance (section 2.2.4), which was returned as
	// part of the notification from calling RpcAsyncGetRemoteNotifications (section 3.1.4.9.4),
	// has the PRINTER_NOTIFY_INFO_DISCARDED bit set ([MS-RPRN] section 2.2.3.2).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	SyncRefreshRemoteNotifications(context.Context, *SyncRefreshRemoteNotificationsRequest, ...dcerpc.CallOption) (*SyncRefreshRemoteNotificationsResponse, error)

	// A print client uses RpcAsyncGetRemoteNotifications to poll the print server for specified
	// change notifications. A call to this method is suspended until the server has a new
	// change notification for the client. Subsequently, the client calls this method again
	// to poll for additional notifications from the server.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	GetRemoteNotifications(context.Context, *GetRemoteNotificationsRequest, ...dcerpc.CallOption) (*GetRemoteNotificationsResponse, error)

	// RpcAsyncInstallPrinterDriverFromPackage installs a printer driver from a driver package.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	InstallPrinterDriverFromPackage(context.Context, *InstallPrinterDriverFromPackageRequest, ...dcerpc.CallOption) (*InstallPrinterDriverFromPackageResponse, error)

	// RpcAsyncUploadPrinterDriverPackage uploads a driver package so it can be installed
	// with RpcAsyncInstallPrinterDriverFromPackage (section 3.1.4.2.7).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	UploadPrinterDriverPackage(context.Context, *UploadPrinterDriverPackageRequest, ...dcerpc.CallOption) (*UploadPrinterDriverPackageResponse, error)

	// RpcAsyncGetCorePrinterDrivers gets the GUID, versions, and publish dates of the specified
	// core printer drivers, and the paths to their packages.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetCorePrinterDrivers
	// ([MS-RPRN] section 3.1.4.4.9).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.9.
	GetCorePrinterDrivers(context.Context, *GetCorePrinterDriversRequest, ...dcerpc.CallOption) (*GetCorePrinterDriversResponse, error)

	// RpcAsyncCorePrinterDriverInstalled determines if a specific core printer driver is
	// installed.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	CorePrinterDriverInstalled(context.Context, *CorePrinterDriverInstalledRequest, ...dcerpc.CallOption) (*CorePrinterDriverInstalledResponse, error)

	// RpcAsyncGetPrinterDriverPackagePath gets the path to the specified printer driver
	// package.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDriverPackagePath,
	// [MS-RPRN] section 3.1.4.4.10.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	GetPrinterDriverPackagePath(context.Context, *GetPrinterDriverPackagePathRequest, ...dcerpc.CallOption) (*GetPrinterDriverPackagePathResponse, error)

	// RpcAsyncDeletePrinterDriverPackage deletes a specified printer driver package.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	DeletePrinterDriverPackage(context.Context, *DeletePrinterDriverPackageRequest, ...dcerpc.CallOption) (*DeletePrinterDriverPackageResponse, error)

	// RpcAsyncReadPrinter retrieves data from the specified job object.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcReadPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.6.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.6.
	ReadPrinter(context.Context, *ReadPrinterRequest, ...dcerpc.CallOption) (*ReadPrinterResponse, error)

	// RpcAsyncResetPrinter resets the data type and device mode (For more information,
	// see [DEVMODE]) values to use for printing documents submitted by the RpcAsyncStartDocPrinter
	// method (section 3.1.4.8.1).
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcResetPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.13.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.13.
	ResetPrinter(context.Context, *ResetPrinterRequest, ...dcerpc.CallOption) (*ResetPrinterResponse, error)

	// RpcAsyncGetJobNamedPropertyValue retrieves the current value of the specified Job
	// Named Property (section 3.1.1).<31>
	//
	// The counterpart of this method in the Print System Remote Protocol ([MS-RPRN]) is
	// RpcGetJobNamedPropertyValue. All parameters not defined below are specified in [MS-RPRN]
	// section 3.1.4.12.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.1.
	GetJobNamedPropertyValue(context.Context, *GetJobNamedPropertyValueRequest, ...dcerpc.CallOption) (*GetJobNamedPropertyValueResponse, error)

	// RpcAsyncSetJobNamedProperty creates a new Job Named Property (section 3.1.1), or
	// changes the value of an existing Job Named Property for the specified print job.<32>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetJobNamedProperty.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.12.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.2.
	SetJobNamedProperty(context.Context, *SetJobNamedPropertyRequest, ...dcerpc.CallOption) (*SetJobNamedPropertyResponse, error)

	// RpcAsyncDeleteJobNamedProperty deletes an existing Job Named Property (section 3.1.1)
	// for the specified print job.<33>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeleteJobNamedProperty.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.12.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.3.
	DeleteJobNamedProperty(context.Context, *DeleteJobNamedPropertyRequest, ...dcerpc.CallOption) (*DeleteJobNamedPropertyResponse, error)

	// RpcAsyncEnumJobNamedProperties enumerates the Job Named Property (section 3.1.1)
	// for the specified print job.<34>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumJobNamedProperties
	// (section 3.1.4.12.4). All parameters not defined below are specified in [MS-RPRN]
	// section 3.1.4.12.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.4.
	EnumJobNamedProperties(context.Context, *EnumJobNamedPropertiesRequest, ...dcerpc.CallOption) (*EnumJobNamedPropertiesResponse, error)

	// RpcAsyncLogJobInfoForBranchOffice processes one or more Branch Office Print Remote
	// Log Entries (section 3.1.1).<35>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcLogJobInfoForBranchOffice.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.13.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.13.1.
	LogJobInfoForBranchOffice(context.Context, *LogJobInfoForBranchOfficeRequest, ...dcerpc.CallOption) (*LogJobInfoForBranchOfficeResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error
}

IRemoteWinspool interface.

func NewRemoteWinspoolClient

func NewRemoteWinspoolClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (RemoteWinspoolClient, error)

type RemoteWinspoolServer

type RemoteWinspoolServer interface {

	// RpcAsyncOpenPrinter retrieves a handle to a specified printer, port, print job or
	// print server. A client uses this method to obtain a print handle to an existing printer
	// on a remote computer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcOpenPrinterEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.14.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.14.
	OpenPrinter(context.Context, *OpenPrinterRequest) (*OpenPrinterResponse, error)

	// RpcAsyncAddPrinter installs a printer on the print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPrinterEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.15.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.15.
	AddPrinter(context.Context, *AddPrinterRequest) (*AddPrinterResponse, error)

	// RpcAsyncSetJob pauses, resumes, cancels, or restarts a print job on a specified printer.
	// This method can also set print job parameters, including the job priority and document
	// name.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.3.1.
	SetJob(context.Context, *SetJobRequest) (*SetJobResponse, error)

	// RpcAsyncGetJob retrieves information about a specified print job on a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.3.2.
	GetJob(context.Context, *GetJobRequest) (*GetJobResponse, error)

	// RpcAsyncEnumJobs retrieves information about a specified set of print jobs on a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumJobs.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.3.3.
	EnumJobs(context.Context, *EnumJobsRequest) (*EnumJobsResponse, error)

	// RpcAsyncAddJob does not perform any function, but returns ERROR_INVALID_PARAMETER.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.4.
	//
	// Return Values: This method MUST return ERROR_INVALID_PARAMETER ([MS-ERREF] section
	// 2.2).
	//
	// This method MUST be implemented to ensure compatibility with protocol clients.
	AddJob(context.Context, *AddJobRequest) (*AddJobResponse, error)

	// RpcAsyncScheduleJob does not perform any function, but returns ERROR_SPL_NO_ADDJOB.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcScheduleJob.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.3.5.
	//
	// Return Values: This method MUST return ERROR_SPL_NO_ADDJOB ([MS-ERREF] section 2.2).
	//
	// This method MUST be implemented to ensure compatibility with protocol clients.
	ScheduleJob(context.Context, *ScheduleJobRequest) (*ScheduleJobResponse, error)

	// RpcAsyncDeletePrinter deletes the specified printer object.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.4.
	//
	// The client MUST call RpcAsyncClosePrinter (section 3.1.4.1.10) with the PRINTER_HANDLE
	// ([MS-RPRN] section 2.2.1.1.4) represented by the hPrinter parameter after calling
	// RpcAsyncDeletePrinter.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.4.
	DeletePrinter(context.Context, *DeletePrinterRequest) (*DeletePrinterResponse, error)

	// RpcAsyncSetPrinter sets configuration information, initialization data, and security
	// information of the specified printer to the values contained in the method parameters.
	// It can also perform an action to change the active status of the printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.5.
	SetPrinter(context.Context, *SetPrinterRequest) (*SetPrinterResponse, error)

	// RpcAsyncGetPrinter retrieves information about a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.6.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.6.
	GetPrinter(context.Context, *GetPrinterRequest) (*GetPrinterResponse, error)

	// RpcStartDocPrinter notifies a specified printer that a document is being spooled
	// for printing.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcStartDocPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.1.
	StartDocPrinter(context.Context, *StartDocPrinterRequest) (*StartDocPrinterResponse, error)

	// RpcAsyncStartPagePrinter notifies a specified printer that a page is about to be
	// printed.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcStartPagePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.2.
	StartPagePrinter(context.Context, *StartPagePrinterRequest) (*StartPagePrinterResponse, error)

	// RpcAsyncWritePrinter adds data to the file representing the spool file for a specified
	// printer, if the spooling option is turned on; or it sends data to the device directly,
	// if the printer is configured for direct printing.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcWritePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.3.
	WritePrinter(context.Context, *WritePrinterRequest) (*WritePrinterResponse, error)

	// RpcAsyncEndPagePrinter notifies a specified printer that the application is at the
	// end of a page in a print job.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEndPagePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.4.
	EndPagePrinter(context.Context, *EndPagePrinterRequest) (*EndPagePrinterResponse, error)

	// RpcAsyncEndDocPrinter signals the completion of the current print job on a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEndDocPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.7.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.7.
	EndDocPrinter(context.Context, *EndDocPrinterRequest) (*EndDocPrinterResponse, error)

	// RpcAsyncAbortPrinter aborts the current document on a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAbortPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.5.
	AbortPrinter(context.Context, *AbortPrinterRequest) (*AbortPrinterResponse, error)

	// RpcAsyncGetPrinterData retrieves configuration data for the specified printer or
	// print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.7.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.7.
	GetPrinterData(context.Context, *GetPrinterDataRequest) (*GetPrinterDataResponse, error)

	// RpcAsyncGetPrinterDataEx retrieves configuration data for the specified printer or
	// print server. This method extends RpcAsyncGetPrinterData (section 3.1.4.1.6) and
	// can retrieve values stored under the specified key by RpcAsyncSetPrinterDataEx (section
	// 3.1.4.1.9).
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.19.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.19.
	GetPrinterDataEx(context.Context, *GetPrinterDataExRequest) (*GetPrinterDataExResponse, error)

	// RpcAsyncSetPrinterData sets configuration data for the specified printer or print
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.8.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.8.
	SetPrinterData(context.Context, *SetPrinterDataRequest) (*SetPrinterDataResponse, error)

	// RpcAsyncSetPrinterDataEx sets configuration data for the specified printer or print
	// server. This method is similar to RpcAsyncSetPrinterData (section 3.1.4.1.8) but
	// also allows the caller to specify the registry key under which to store the data.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.18.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// specified in [MS-RPRN] section 3.1.4.2.18.
	SetPrinterDataEx(context.Context, *SetPrinterDataExRequest) (*SetPrinterDataExResponse, error)

	// RpcAsyncClosePrinter closes a handle to a printer, server, job, or port object that
	// was previously opened by either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter
	// (section 3.1.4.1.2).
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcClosePrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.9.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.9.
	ClosePrinter(context.Context, *ClosePrinterRequest) (*ClosePrinterResponse, error)

	// RpcAsyncAddForm adds a form name to the list of supported printer forms.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.1.
	AddForm(context.Context, *AddFormRequest) (*AddFormResponse, error)

	// RpcAsyncDeleteForm removes a form name from the list of supported printer forms.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeleteForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.2.
	DeleteForm(context.Context, *DeleteFormRequest) (*DeleteFormResponse, error)

	// RpcAsyncGetForm retrieves information about a specified printer form.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.3.
	GetForm(context.Context, *GetFormRequest) (*GetFormResponse, error)

	// RpcAsyncSetForm sets the printer form information for the specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetForm.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.4.
	SetForm(context.Context, *SetFormRequest) (*SetFormResponse, error)

	// RpcAsyncEnumForms enumerates the printer forms that the specified printer supports.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumForms.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.5.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.5.5.
	EnumForms(context.Context, *EnumFormsRequest) (*EnumFormsResponse, error)

	// RpcAsyncGetPrinterDriver retrieves data about a specified printer driver on a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDriver2.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.6.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.6.
	GetPrinterDriver(context.Context, *GetPrinterDriverRequest) (*GetPrinterDriverResponse, error)

	// RpcAsyncEnumPrinterData enumerates configuration data for a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.16.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.16.
	EnumPrinterData(context.Context, *EnumPrinterDataRequest) (*EnumPrinterDataResponse, error)

	// RpcAsyncEnumPrinterDataEx enumerates all registry value names and data under the
	// key for the specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.20.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.20.
	EnumPrinterDataEx(context.Context, *EnumPrinterDataExRequest) (*EnumPrinterDataExResponse, error)

	// RpcAsyncEnumPrinterKey enumerates the subkeys of a specified key for a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterKey.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.21.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.21.
	EnumPrinterKey(context.Context, *EnumPrinterKeyRequest) (*EnumPrinterKeyResponse, error)

	// RpcAsyncDeletePrinterData deletes a specified value from the configuration of a specified
	// printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.17.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.17.
	DeletePrinterData(context.Context, *DeletePrinterDataRequest) (*DeletePrinterDataResponse, error)

	// RpcAsyncDeletePrinterDataEx deletes a specified value from the configuration data
	// of a specified printer, which consists of a set of named and typed values stored
	// in a hierarchy of registry keys.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterDataEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.22.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.22.
	DeletePrinterDataEx(context.Context, *DeletePrinterDataExRequest) (*DeletePrinterDataExResponse, error)

	// RpcAsyncDeletePrinterKey deletes a specified key and all of its subkeys from the
	// configuration of a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterKey.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.23.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.23.
	DeletePrinterKey(context.Context, *DeletePrinterKeyRequest) (*DeletePrinterKeyResponse, error)

	// RpcAsyncXcvData provides the means by which a port monitor client component can communicate
	// with its server-side counterpart, the actual port monitor hosted by the server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcXcvData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.5.
	XcvData(context.Context, *XcvDataRequest) (*XcvDataResponse, error)

	// RpcAsyncSendRecvBidiData sends and receives bidirectional data. This method is used
	// to communicate with print monitors that support such data.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSendRecvBidiData.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.27.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.27.
	SendRecvBIDIData(context.Context, *SendRecvBIDIDataRequest) (*SendRecvBIDIDataResponse, error)

	// RpcAsyncCreatePrinterIC creates an information context for a specified printer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcCreatePrinterIC.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.10.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.10.
	CreatePrinterIC(context.Context, *CreatePrinterICRequest) (*CreatePrinterICResponse, error)

	// RpcAsyncPlayGdiScriptOnPrinterIC returns font information for a printer connection.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcPlayGdiScriptOnPrinterIC.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.11.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.11.
	PlayGDIScriptOnPrinterIC(context.Context, *PlayGDIScriptOnPrinterICRequest) (*PlayGDIScriptOnPrinterICResponse, error)

	// RpcAsyncDeletePrinterIC deletes a printer information context.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterIC.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.12.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.12.
	DeletePrinterIC(context.Context, *DeletePrinterICRequest) (*DeletePrinterICResponse, error)

	// RpcAsyncEnumPrinters enumerates available local printers, printers on a specified
	// print server, printers in a specified domain, or print providers.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinters.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.1.
	EnumPrinters(context.Context, *EnumPrintersRequest) (*EnumPrintersResponse, error)

	// RpcAsyncAddPrinterDriver installs a specified local or a remote printer driver on
	// a specified print server, and it links the configuration, data, and driver files.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPrinterDriverEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.8.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.8.
	AddPrinterDriver(context.Context, *AddPrinterDriverRequest) (*AddPrinterDriverResponse, error)

	// RpcAsyncEnumPrinterDrivers enumerates the printer drivers installed on a specified
	// print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrinterDrivers.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.2.
	EnumPrinterDrivers(context.Context, *EnumPrinterDriversRequest) (*EnumPrinterDriversResponse, error)

	// RpcAsyncGetPrinterDriverDirectory retrieves the path of the printer driver directory
	// on a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDriverDirectory.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.4.
	GetPrinterDriverDirectory(context.Context, *GetPrinterDriverDirectoryRequest) (*GetPrinterDriverDirectoryResponse, error)

	// RpcAsyncDeletePrinterDriver removes the specified printer driver from the list of
	// supported drivers for a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterDriver.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.5.
	DeletePrinterDriver(context.Context, *DeletePrinterDriverRequest) (*DeletePrinterDriverResponse, error)

	// RpcAsyncDeletePrinterDriverEx removes the specified printer driver from the list
	// of supported drivers on a specified print server, and deletes the files associated
	// with the driver. This method also can delete specific versions of the driver.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrinterDriverEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.4.7.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.7.
	DeletePrinterDriverEx(context.Context, *DeletePrinterDriverExRequest) (*DeletePrinterDriverExResponse, error)

	// RpcAsyncAddPrintProcessor installs a specified print processor on the specified server
	// and adds its name to an internal list of supported print processors.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPrintProcessor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.1.
	AddPrintProcessor(context.Context, *AddPrintProcessorRequest) (*AddPrintProcessorResponse, error)

	// RpcAsyncEnumPrintProcessors enumerates the print processors installed on a specified
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrintProcessors.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.2.
	EnumPrintProcessors(context.Context, *EnumPrintProcessorsRequest) (*EnumPrintProcessorsResponse, error)

	// RpcAsyncGetPrintProcessorDirectory retrieves the path for the print processor on
	// the specified server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrintProcessorDirectory.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.3.
	GetPrintProcessorDirectory(context.Context, *GetPrintProcessorDirectoryRequest) (*GetPrintProcessorDirectoryResponse, error)

	// RpcAsyncEnumPorts enumerates the ports that are available for printing on a specified
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPorts.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.1.
	EnumPorts(context.Context, *EnumPortsRequest) (*EnumPortsResponse, error)

	// RpcAsyncEnumMonitors retrieves information about the port monitors installed on a
	// specified server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumMonitors.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.7.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.7.1.
	EnumMonitors(context.Context, *EnumMonitorsRequest) (*EnumMonitorsResponse, error)

	// RpcAsyncAddPort adds a specified port name to the list of supported ports on a specified
	// print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPortEx.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.3.
	AddPort(context.Context, *AddPortRequest) (*AddPortResponse, error)

	// RpcAsyncSetPort sets the status associated with a specified port on a specified print
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetPort.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.6.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.6.4.
	SetPort(context.Context, *SetPortRequest) (*SetPortResponse, error)

	// RpcAsyncAddMonitor installs a specified local port monitor, and links the configuration,
	// data, and monitor files on a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddMonitor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.7.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.7.2.
	AddMonitor(context.Context, *AddMonitorRequest) (*AddMonitorResponse, error)

	// RpcAsyncDeleteMonitor removes a specified port monitor from a specified print server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeleteMonitor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.7.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.7.3.
	DeleteMonitor(context.Context, *DeleteMonitorRequest) (*DeleteMonitorResponse, error)

	// RpcAsyncDeletePrintProcessor removes a specified print processor from a specified
	// server.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePrintProcessor.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.4.
	DeletePrintProcessor(context.Context, *DeletePrintProcessorRequest) (*DeletePrintProcessorResponse, error)

	// RpcAsyncEnumPrintProcessorDatatypes enumerates the data types that a specified print
	// processor supports.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPrintProcessorDatatypes.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.8.5.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.8.5.
	EnumPrintProcessorDataTypes(context.Context, *EnumPrintProcessorDataTypesRequest) (*EnumPrintProcessorDataTypesResponse, error)

	// RpcAsyncAddPerMachineConnection persistently saves the configuration information
	// for a connection, including the print server name and the name of the print providers
	// for the specified connection.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcAddPerMachineConnection.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.24.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.24.
	AddPerMachineConnection(context.Context, *AddPerMachineConnectionRequest) (*AddPerMachineConnectionResponse, error)

	// RpcAsyncDeletePerMachineConnection deletes the stored connection configuration information
	// that corresponds to the pPrinterName parameter value.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeletePerMachineConnection.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.25.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.25.
	DeletePerMachineConnection(context.Context, *DeletePerMachineConnectionRequest) (*DeletePerMachineConnectionResponse, error)

	// RpcAsyncEnumPerMachineConnections enumerates each of the per-machine connections
	// into a specified buffer.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumPerMachineConnections.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.26.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. Aside from the specific
	// nonzero return values documented in section 3.1.4, the client MUST treat any nonzero
	// return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.26.
	EnumPerMachineConnections(context.Context, *EnumPerMachineConnectionsRequest) (*EnumPerMachineConnectionsResponse, error)

	// RpcSyncRegisterForRemoteNotifications opens a notification handle by using a printer
	// handle or print server handle, to listen for remote printer change notifications.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion, or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	SyncRegisterForRemoteNotifications(context.Context, *SyncRegisterForRemoteNotificationsRequest) (*SyncRegisterForRemoteNotificationsResponse, error)

	// RpcSyncUnRegisterForRemoteNotifications closes a notification handle opened by calling
	// RpcSyncRegisterForRemoteNotifications (section 3.1.4.9.1).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	SyncUnregisterForRemoteNotifications(context.Context, *SyncUnregisterForRemoteNotificationsRequest) (*SyncUnregisterForRemoteNotificationsResponse, error)

	// RpcSyncRefreshRemoteNotifications gets notification information for all requested
	// members. This SHOULD be called by a client if the "RemoteNotifyData Flags" key in
	// the RpcPrintPropertiesCollection instance (section 2.2.4), which was returned as
	// part of the notification from calling RpcAsyncGetRemoteNotifications (section 3.1.4.9.4),
	// has the PRINTER_NOTIFY_INFO_DISCARDED bit set ([MS-RPRN] section 2.2.3.2).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	SyncRefreshRemoteNotifications(context.Context, *SyncRefreshRemoteNotificationsRequest) (*SyncRefreshRemoteNotificationsResponse, error)

	// A print client uses RpcAsyncGetRemoteNotifications to poll the print server for specified
	// change notifications. A call to this method is suspended until the server has a new
	// change notification for the client. Subsequently, the client calls this method again
	// to poll for additional notifications from the server.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) to indicate successful completion or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	GetRemoteNotifications(context.Context, *GetRemoteNotificationsRequest) (*GetRemoteNotificationsResponse, error)

	// RpcAsyncInstallPrinterDriverFromPackage installs a printer driver from a driver package.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	InstallPrinterDriverFromPackage(context.Context, *InstallPrinterDriverFromPackageRequest) (*InstallPrinterDriverFromPackageResponse, error)

	// RpcAsyncUploadPrinterDriverPackage uploads a driver package so it can be installed
	// with RpcAsyncInstallPrinterDriverFromPackage (section 3.1.4.2.7).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	UploadPrinterDriverPackage(context.Context, *UploadPrinterDriverPackageRequest) (*UploadPrinterDriverPackageResponse, error)

	// RpcAsyncGetCorePrinterDrivers gets the GUID, versions, and publish dates of the specified
	// core printer drivers, and the paths to their packages.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetCorePrinterDrivers
	// ([MS-RPRN] section 3.1.4.4.9).
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.4.9.
	GetCorePrinterDrivers(context.Context, *GetCorePrinterDriversRequest) (*GetCorePrinterDriversResponse, error)

	// RpcAsyncCorePrinterDriverInstalled determines if a specific core printer driver is
	// installed.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	CorePrinterDriverInstalled(context.Context, *CorePrinterDriverInstalledRequest) (*CorePrinterDriverInstalledResponse, error)

	// RpcAsyncGetPrinterDriverPackagePath gets the path to the specified printer driver
	// package.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcGetPrinterDriverPackagePath,
	// [MS-RPRN] section 3.1.4.4.10.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	GetPrinterDriverPackagePath(context.Context, *GetPrinterDriverPackagePathRequest) (*GetPrinterDriverPackagePathResponse, error)

	// RpcAsyncDeletePrinterDriverPackage deletes a specified printer driver package.
	//
	// Return Values: This method returns either an HRESULT success value ([MS-ERREF] section
	// 2.1) or an HRESULT error value to indicate failure.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	DeletePrinterDriverPackage(context.Context, *DeletePrinterDriverPackageRequest) (*DeletePrinterDriverPackageResponse, error)

	// RpcAsyncReadPrinter retrieves data from the specified job object.
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcReadPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.9.6.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.9.6.
	ReadPrinter(context.Context, *ReadPrinterRequest) (*ReadPrinterResponse, error)

	// RpcAsyncResetPrinter resets the data type and device mode (For more information,
	// see [DEVMODE]) values to use for printing documents submitted by the RpcAsyncStartDocPrinter
	// method (section 3.1.4.8.1).
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcResetPrinter.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.2.13.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.2.13.
	ResetPrinter(context.Context, *ResetPrinterRequest) (*ResetPrinterResponse, error)

	// RpcAsyncGetJobNamedPropertyValue retrieves the current value of the specified Job
	// Named Property (section 3.1.1).<31>
	//
	// The counterpart of this method in the Print System Remote Protocol ([MS-RPRN]) is
	// RpcGetJobNamedPropertyValue. All parameters not defined below are specified in [MS-RPRN]
	// section 3.1.4.12.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.1.
	GetJobNamedPropertyValue(context.Context, *GetJobNamedPropertyValueRequest) (*GetJobNamedPropertyValueResponse, error)

	// RpcAsyncSetJobNamedProperty creates a new Job Named Property (section 3.1.1), or
	// changes the value of an existing Job Named Property for the specified print job.<32>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcSetJobNamedProperty.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.12.2.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.2.
	SetJobNamedProperty(context.Context, *SetJobNamedPropertyRequest) (*SetJobNamedPropertyResponse, error)

	// RpcAsyncDeleteJobNamedProperty deletes an existing Job Named Property (section 3.1.1)
	// for the specified print job.<33>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcDeleteJobNamedProperty.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.12.3.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.3.
	DeleteJobNamedProperty(context.Context, *DeleteJobNamedPropertyRequest) (*DeleteJobNamedPropertyResponse, error)

	// RpcAsyncEnumJobNamedProperties enumerates the Job Named Property (section 3.1.1)
	// for the specified print job.<34>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcEnumJobNamedProperties
	// (section 3.1.4.12.4). All parameters not defined below are specified in [MS-RPRN]
	// section 3.1.4.12.4.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.12.4.
	EnumJobNamedProperties(context.Context, *EnumJobNamedPropertiesRequest) (*EnumJobNamedPropertiesResponse, error)

	// RpcAsyncLogJobInfoForBranchOffice processes one or more Branch Office Print Remote
	// Log Entries (section 3.1.1).<35>
	//
	// The counterpart of this method in the Print System Remote Protocol is RpcLogJobInfoForBranchOffice.
	// All parameters not defined below are specified in [MS-RPRN] section 3.1.4.13.1.
	//
	// Return Values: This method returns zero to indicate successful completion or a nonzero
	// Win32 error code ([MS-ERREF] section 2.2) to indicate failure. The client MUST treat
	// any nonzero return value as a fatal error.
	//
	// Exceptions Thrown: This method MUST NOT throw any exceptions other than those that
	// are thrown by the underlying RPC protocol specified in [MS-RPCE].
	//
	// This method MUST adhere to the parameter validation, processing, and response requirements
	// that are specified in [MS-RPRN] section 3.1.4.13.1.
	LogJobInfoForBranchOffice(context.Context, *LogJobInfoForBranchOfficeRequest) (*LogJobInfoForBranchOfficeResponse, error)
}

IRemoteWinspool server interface.

type ResetPrinterRequest

type ResetPrinterRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer          *Printer          `idl:"name:hPrinter" json:"printer"`
	DataType         string            `idl:"name:pDatatype;string;pointer:unique" json:"data_type"`
	DevModeContainer *DevModeContainer `idl:"name:pDevModeContainer" json:"dev_mode_container"`
}

ResetPrinterRequest structure represents the RpcAsyncResetPrinter operation request

func (*ResetPrinterRequest) MarshalNDR

func (o *ResetPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResetPrinterRequest) UnmarshalNDR

func (o *ResetPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResetPrinterResponse

type ResetPrinterResponse struct {
	// Return: The RpcAsyncResetPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ResetPrinterResponse structure represents the RpcAsyncResetPrinter operation response

func (*ResetPrinterResponse) MarshalNDR

func (o *ResetPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResetPrinterResponse) UnmarshalNDR

func (o *ResetPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ScheduleJobRequest

type ScheduleJobRequest struct {
	// hPrinter: A handle to a printer object that was opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
	JobID   uint32   `idl:"name:JobId" json:"job_id"`
}

ScheduleJobRequest structure represents the RpcAsyncScheduleJob operation request

func (*ScheduleJobRequest) MarshalNDR

func (o *ScheduleJobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ScheduleJobRequest) UnmarshalNDR

func (o *ScheduleJobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ScheduleJobResponse

type ScheduleJobResponse struct {
	// Return: The RpcAsyncScheduleJob return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ScheduleJobResponse structure represents the RpcAsyncScheduleJob operation response

func (*ScheduleJobResponse) MarshalNDR

func (o *ScheduleJobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ScheduleJobResponse) UnmarshalNDR

func (o *ScheduleJobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SecurityContainer

type SecurityContainer struct {
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
	Security     []byte `idl:"name:pSecurity;size_is:(cbBuf);pointer:unique" json:"security"`
}

SecurityContainer structure represents SECURITY_CONTAINER RPC structure.

func (*SecurityContainer) MarshalNDR

func (o *SecurityContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SecurityContainer) UnmarshalNDR

func (o *SecurityContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type SendRecvBIDIDataRequest

type SendRecvBIDIDataRequest struct {
	// hPrinter: A handle to a printer object that has been opened using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer     *Printer              `idl:"name:hPrinter" json:"printer"`
	Action      string                `idl:"name:pAction;string;pointer:unique" json:"action"`
	RequestData *BIDIRequestContainer `idl:"name:pReqData" json:"request_data"`
}

SendRecvBIDIDataRequest structure represents the RpcAsyncSendRecvBidiData operation request

func (*SendRecvBIDIDataRequest) MarshalNDR

func (o *SendRecvBIDIDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SendRecvBIDIDataRequest) UnmarshalNDR

func (o *SendRecvBIDIDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SendRecvBIDIDataResponse

type SendRecvBIDIDataResponse struct {
	ResponseData *BIDIResponseContainer `idl:"name:ppRespData" json:"response_data"`
	// Return: The RpcAsyncSendRecvBidiData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SendRecvBIDIDataResponse structure represents the RpcAsyncSendRecvBidiData operation response

func (*SendRecvBIDIDataResponse) MarshalNDR

func (o *SendRecvBIDIDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SendRecvBIDIDataResponse) UnmarshalNDR

func (o *SendRecvBIDIDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetFormRequest

type SetFormRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer           *Printer       `idl:"name:hPrinter" json:"printer"`
	FormName          string         `idl:"name:pFormName;string" json:"form_name"`
	FormInfoContainer *FormContainer `idl:"name:pFormInfoContainer" json:"form_info_container"`
}

SetFormRequest structure represents the RpcAsyncSetForm operation request

func (*SetFormRequest) MarshalNDR

func (o *SetFormRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetFormRequest) UnmarshalNDR

func (o *SetFormRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetFormResponse

type SetFormResponse struct {
	// Return: The RpcAsyncSetForm return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetFormResponse structure represents the RpcAsyncSetForm operation response

func (*SetFormResponse) MarshalNDR

func (o *SetFormResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetFormResponse) UnmarshalNDR

func (o *SetFormResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetJobNamedPropertyRequest

type SetJobNamedPropertyRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer  *Printer               `idl:"name:hPrinter" json:"printer"`
	JobID    uint32                 `idl:"name:JobId" json:"job_id"`
	Property *PrintJobNamedProperty `idl:"name:pProperty" json:"property"`
}

SetJobNamedPropertyRequest structure represents the RpcAsyncSetJobNamedProperty operation request

func (*SetJobNamedPropertyRequest) MarshalNDR

func (o *SetJobNamedPropertyRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetJobNamedPropertyRequest) UnmarshalNDR

func (o *SetJobNamedPropertyRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetJobNamedPropertyResponse

type SetJobNamedPropertyResponse struct {
	// Return: The RpcAsyncSetJobNamedProperty return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetJobNamedPropertyResponse structure represents the RpcAsyncSetJobNamedProperty operation response

func (*SetJobNamedPropertyResponse) MarshalNDR

func (*SetJobNamedPropertyResponse) UnmarshalNDR

func (o *SetJobNamedPropertyResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetJobRequest

type SetJobRequest struct {
	// hPrinter: A handle to a printer object that has been opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer      `idl:"name:hPrinter" json:"printer"`
	JobID        uint32        `idl:"name:JobId" json:"job_id"`
	JobContainer *JobContainer `idl:"name:pJobContainer;pointer:unique" json:"job_container"`
	Command      uint32        `idl:"name:Command" json:"command"`
}

SetJobRequest structure represents the RpcAsyncSetJob operation request

func (*SetJobRequest) MarshalNDR

func (o *SetJobRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetJobRequest) UnmarshalNDR

func (o *SetJobRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetJobResponse

type SetJobResponse struct {
	// Return: The RpcAsyncSetJob return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetJobResponse structure represents the RpcAsyncSetJob operation response

func (*SetJobResponse) MarshalNDR

func (o *SetJobResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetJobResponse) UnmarshalNDR

func (o *SetJobResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPortRequest

type SetPortRequest struct {
	Name          string         `idl:"name:pName;string;pointer:unique" json:"name"`
	PortName      string         `idl:"name:pPortName;string;pointer:unique" json:"port_name"`
	PortContainer *PortContainer `idl:"name:pPortContainer" json:"port_container"`
}

SetPortRequest structure represents the RpcAsyncSetPort operation request

func (*SetPortRequest) MarshalNDR

func (o *SetPortRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPortRequest) UnmarshalNDR

func (o *SetPortRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPortResponse

type SetPortResponse struct {
	// Return: The RpcAsyncSetPort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetPortResponse structure represents the RpcAsyncSetPort operation response

func (*SetPortResponse) MarshalNDR

func (o *SetPortResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPortResponse) UnmarshalNDR

func (o *SetPortResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPrinterDataExRequest

type SetPrinterDataExRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer    *Printer `idl:"name:hPrinter" json:"printer"`
	KeyName    string   `idl:"name:pKeyName;string" json:"key_name"`
	ValueName  string   `idl:"name:pValueName;string" json:"value_name"`
	Type       uint32   `idl:"name:Type" json:"type"`
	Data       []byte   `idl:"name:pData;size_is:(cbData)" json:"data"`
	DataLength uint32   `idl:"name:cbData" json:"data_length"`
}

SetPrinterDataExRequest structure represents the RpcAsyncSetPrinterDataEx operation request

func (*SetPrinterDataExRequest) MarshalNDR

func (o *SetPrinterDataExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPrinterDataExRequest) UnmarshalNDR

func (o *SetPrinterDataExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPrinterDataExResponse

type SetPrinterDataExResponse struct {
	// Return: The RpcAsyncSetPrinterDataEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetPrinterDataExResponse structure represents the RpcAsyncSetPrinterDataEx operation response

func (*SetPrinterDataExResponse) MarshalNDR

func (o *SetPrinterDataExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPrinterDataExResponse) UnmarshalNDR

func (o *SetPrinterDataExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPrinterDataRequest

type SetPrinterDataRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer    *Printer `idl:"name:hPrinter" json:"printer"`
	ValueName  string   `idl:"name:pValueName;string" json:"value_name"`
	Type       uint32   `idl:"name:Type" json:"type"`
	Data       []byte   `idl:"name:pData;size_is:(cbData)" json:"data"`
	DataLength uint32   `idl:"name:cbData" json:"data_length"`
}

SetPrinterDataRequest structure represents the RpcAsyncSetPrinterData operation request

func (*SetPrinterDataRequest) MarshalNDR

func (o *SetPrinterDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPrinterDataRequest) UnmarshalNDR

func (o *SetPrinterDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPrinterDataResponse

type SetPrinterDataResponse struct {
	// Return: The RpcAsyncSetPrinterData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetPrinterDataResponse structure represents the RpcAsyncSetPrinterData operation response

func (*SetPrinterDataResponse) MarshalNDR

func (o *SetPrinterDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPrinterDataResponse) UnmarshalNDR

func (o *SetPrinterDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPrinterRequest

type SetPrinterRequest struct {
	// hPrinter: A handle to a printer object or server object that has been opened by using
	// either RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer           *Printer           `idl:"name:hPrinter" json:"printer"`
	PrinterContainer  *PrinterContainer  `idl:"name:pPrinterContainer" json:"printer_container"`
	DevModeContainer  *DevModeContainer  `idl:"name:pDevModeContainer" json:"dev_mode_container"`
	SecurityContainer *SecurityContainer `idl:"name:pSecurityContainer" json:"security_container"`
	Command           uint32             `idl:"name:Command" json:"command"`
}

SetPrinterRequest structure represents the RpcAsyncSetPrinter operation request

func (*SetPrinterRequest) MarshalNDR

func (o *SetPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPrinterRequest) UnmarshalNDR

func (o *SetPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SetPrinterResponse

type SetPrinterResponse struct {
	// Return: The RpcAsyncSetPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

SetPrinterResponse structure represents the RpcAsyncSetPrinter operation response

func (*SetPrinterResponse) MarshalNDR

func (o *SetPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SetPrinterResponse) UnmarshalNDR

func (o *SetPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type Size

type Size struct {
	X int32 `idl:"name:cx" json:"x"`
	Y int32 `idl:"name:cy" json:"y"`
}

Size structure represents SIZE RPC structure.

func (*Size) MarshalNDR

func (o *Size) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Size) UnmarshalNDR

func (o *Size) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type StartDocPrinterRequest

type StartDocPrinterRequest struct {
	// hPrinter: A handle to a printer object that was opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer          *Printer          `idl:"name:hPrinter" json:"printer"`
	DocInfoContainer *DocInfoContainer `idl:"name:pDocInfoContainer" json:"doc_info_container"`
}

StartDocPrinterRequest structure represents the RpcAsyncStartDocPrinter operation request

func (*StartDocPrinterRequest) MarshalNDR

func (o *StartDocPrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartDocPrinterRequest) UnmarshalNDR

func (o *StartDocPrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartDocPrinterResponse

type StartDocPrinterResponse struct {
	JobID uint32 `idl:"name:pJobId" json:"job_id"`
	// Return: The RpcAsyncStartDocPrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartDocPrinterResponse structure represents the RpcAsyncStartDocPrinter operation response

func (*StartDocPrinterResponse) MarshalNDR

func (o *StartDocPrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartDocPrinterResponse) UnmarshalNDR

func (o *StartDocPrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartPagePrinterRequest

type StartPagePrinterRequest struct {
	// hPrinter: A handle to a printer object that was opened by using either RpcAsyncOpenPrinter
	// (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
}

StartPagePrinterRequest structure represents the RpcAsyncStartPagePrinter operation request

func (*StartPagePrinterRequest) MarshalNDR

func (o *StartPagePrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartPagePrinterRequest) UnmarshalNDR

func (o *StartPagePrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StartPagePrinterResponse

type StartPagePrinterResponse struct {
	// Return: The RpcAsyncStartPagePrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

StartPagePrinterResponse structure represents the RpcAsyncStartPagePrinter operation response

func (*StartPagePrinterResponse) MarshalNDR

func (o *StartPagePrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StartPagePrinterResponse) UnmarshalNDR

func (o *StartPagePrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type StringContainer

type StringContainer struct {
	BufferLength uint32 `idl:"name:cbBuf" json:"buffer_length"`
	String       string `idl:"name:pszString;size_is:((cbBuf/2));pointer:unique" json:"string"`
}

StringContainer structure represents STRING_CONTAINER RPC structure.

func (*StringContainer) MarshalNDR

func (o *StringContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*StringContainer) UnmarshalNDR

func (o *StringContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type SyncRefreshRemoteNotificationsRequest

type SyncRefreshRemoteNotificationsRequest struct {
	// hRpcHandle: A remote notification handle that was opened by using RpcSyncRegisterForRemoteNotifications
	// (section 3.1.4.9.1).
	Handle *RemoteNotify `idl:"name:hRpcHandle" json:"handle"`
	// pNotifyFilter: A pointer to an RpcPrintPropertiesCollection instance that contains
	// the caller-specified notification filter settings.
	NotifyFilter *PrintPropertiesCollection `idl:"name:pNotifyFilter" json:"notify_filter"`
}

SyncRefreshRemoteNotificationsRequest structure represents the RpcSyncRefreshRemoteNotifications operation request

func (*SyncRefreshRemoteNotificationsRequest) MarshalNDR

func (*SyncRefreshRemoteNotificationsRequest) UnmarshalNDR

type SyncRefreshRemoteNotificationsResponse

type SyncRefreshRemoteNotificationsResponse struct {
	// ppNotifyData: A pointer to a variable that receives a pointer to an RpcPrintPropertiesCollection
	// instance that contains the notification data.
	NotifyData *PrintPropertiesCollection `idl:"name:ppNotifyData" json:"notify_data"`
	// Return: The RpcSyncRefreshRemoteNotifications return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SyncRefreshRemoteNotificationsResponse structure represents the RpcSyncRefreshRemoteNotifications operation response

func (*SyncRefreshRemoteNotificationsResponse) MarshalNDR

func (*SyncRefreshRemoteNotificationsResponse) UnmarshalNDR

type SyncRegisterForRemoteNotificationsRequest

type SyncRegisterForRemoteNotificationsRequest struct {
	// hPrinter: A handle to a printer object or print server object opened by using either
	// RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer *Printer `idl:"name:hPrinter" json:"printer"`
	// pNotifyFilter: A pointer to an RpcPrintPropertiesCollection (section 2.2.4) instance
	// that contains the caller-specified notification filter settings.
	NotifyFilter *PrintPropertiesCollection `idl:"name:pNotifyFilter" json:"notify_filter"`
}

SyncRegisterForRemoteNotificationsRequest structure represents the RpcSyncRegisterForRemoteNotifications operation request

func (*SyncRegisterForRemoteNotificationsRequest) MarshalNDR

func (*SyncRegisterForRemoteNotificationsRequest) UnmarshalNDR

type SyncRegisterForRemoteNotificationsResponse

type SyncRegisterForRemoteNotificationsResponse struct {
	// phRpcHandle: A pointer to a variable that receives the remote notification handle.
	RPCHandle *RemoteNotify `idl:"name:phRpcHandle" json:"rpc_handle"`
	// Return: The RpcSyncRegisterForRemoteNotifications return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SyncRegisterForRemoteNotificationsResponse structure represents the RpcSyncRegisterForRemoteNotifications operation response

func (*SyncRegisterForRemoteNotificationsResponse) MarshalNDR

func (*SyncRegisterForRemoteNotificationsResponse) UnmarshalNDR

type SyncUnregisterForRemoteNotificationsRequest

type SyncUnregisterForRemoteNotificationsRequest struct {
	// phRpcHandle: A pointer to the remote notification handle from which the user no longer
	// wants to receive notifications.
	RPCHandle *RemoteNotify `idl:"name:phRpcHandle" json:"rpc_handle"`
}

SyncUnregisterForRemoteNotificationsRequest structure represents the RpcSyncUnRegisterForRemoteNotifications operation request

func (*SyncUnregisterForRemoteNotificationsRequest) MarshalNDR

func (*SyncUnregisterForRemoteNotificationsRequest) UnmarshalNDR

type SyncUnregisterForRemoteNotificationsResponse

type SyncUnregisterForRemoteNotificationsResponse struct {
	// phRpcHandle: A pointer to the remote notification handle from which the user no longer
	// wants to receive notifications.
	RPCHandle *RemoteNotify `idl:"name:phRpcHandle" json:"rpc_handle"`
	// Return: The RpcSyncUnRegisterForRemoteNotifications return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SyncUnregisterForRemoteNotificationsResponse structure represents the RpcSyncUnRegisterForRemoteNotifications operation response

func (*SyncUnregisterForRemoteNotificationsResponse) MarshalNDR

func (*SyncUnregisterForRemoteNotificationsResponse) UnmarshalNDR

type SystemTimeContainer

type SystemTimeContainer struct {
	BufferLength uint32           `idl:"name:cbBuf" json:"buffer_length"`
	SystemTime   *dtyp.SystemTime `idl:"name:pSystemTime" json:"system_time"`
}

SystemTimeContainer structure represents SYSTEMTIME_CONTAINER RPC structure.

func (*SystemTimeContainer) MarshalNDR

func (o *SystemTimeContainer) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SystemTimeContainer) UnmarshalNDR

func (o *SystemTimeContainer) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type UploadPrinterDriverPackageRequest

type UploadPrinterDriverPackageRequest struct {
	// pszServer: A pointer to a string that specifies the name of the print server to which
	// this method will upload the printer driver package.
	Server string `idl:"name:pszServer;string;pointer:unique" json:"server"`
	// pszInfPath: A pointer to a string that specifies the path to a driver installation
	// control file that specifies the printer driver.
	//
	// This control file MAY be used to install the driver on a target system.<19> For rules
	// governing path names, see [MS-RPRN] section 2.2.4.9.
	InfPath string `idl:"name:pszInfPath;string" json:"inf_path"`
	// pszEnvironment: A pointer to a string that specifies the environment name for which
	// the driver package is uploaded. For rules governing environment names, see [MS-RPRN]
	// section 2.2.4.4.
	Environment string `idl:"name:pszEnvironment;string" json:"environment"`
	// dwFlags: A bitfield that specifies the options for uploading a driver package.
	//
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	|                                   |                                                                                  |
	//	|               VALUE               |                                     MEANING                                      |
	//	|                                   |                                                                                  |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000                        | This method uploads the driver package that is named by the string pointed to by |
	//	|                                   | the pszInfPath parameter to the print server, but only if that driver package is |
	//	|                                   | not already present on the server.                                               |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| UPDP_UPLOAD_ALWAYS 0x00000002     | This method uploads the driver package files specified by the pszInfPath         |
	//	|                                   | parameter even if the driver package is already present on the print server.     |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| UPDP_CHECK_DRIVERSTORE 0x00000004 | This method only checks the print server's driver store to see if the driver     |
	//	|                                   | package specified by the pszInfPath parameter is already present on the print    |
	//	|                                   | server. If the driver package is not present on the print server, this method    |
	//	|                                   | returns ERROR_NOT_FOUND; otherwise, the method returns zero. This flag is        |
	//	|                                   | ignored if the UPDP_UPLOAD_ALWAYS flag is set.                                   |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// pszDestInfPath: A pointer to a buffer that receives a string that specifies the full
	// path of the directory to which the driver installation control file was copied. For
	// rules governing path names, see [MS-RPRN] section 2.2.4.9.
	DestinationInfPath string `idl:"name:pszDestInfPath;size_is:(pcchDestInfPath);pointer:unique" json:"destination_inf_path"`
	// pcchDestInfPath: On input, this parameter is a pointer to a variable that specifies
	// the size, in characters, of the buffer that is referenced by the pszDestInfPath parameter.
	// The specified size is at least 260 characters.
	DestinationInfPathLength uint32 `idl:"name:pcchDestInfPath" json:"destination_inf_path_length"`
}

UploadPrinterDriverPackageRequest structure represents the RpcAsyncUploadPrinterDriverPackage operation request

func (*UploadPrinterDriverPackageRequest) MarshalNDR

func (*UploadPrinterDriverPackageRequest) UnmarshalNDR

type UploadPrinterDriverPackageResponse

type UploadPrinterDriverPackageResponse struct {
	// pszDestInfPath: A pointer to a buffer that receives a string that specifies the full
	// path of the directory to which the driver installation control file was copied. For
	// rules governing path names, see [MS-RPRN] section 2.2.4.9.
	DestinationInfPath string `idl:"name:pszDestInfPath;size_is:(pcchDestInfPath);pointer:unique" json:"destination_inf_path"`
	// pcchDestInfPath: On input, this parameter is a pointer to a variable that specifies
	// the size, in characters, of the buffer that is referenced by the pszDestInfPath parameter.
	// The specified size is at least 260 characters.
	DestinationInfPathLength uint32 `idl:"name:pcchDestInfPath" json:"destination_inf_path_length"`
	// Return: The RpcAsyncUploadPrinterDriverPackage return value.
	Return int32 `idl:"name:Return" json:"return"`
}

UploadPrinterDriverPackageResponse structure represents the RpcAsyncUploadPrinterDriverPackage operation response

func (*UploadPrinterDriverPackageResponse) MarshalNDR

func (*UploadPrinterDriverPackageResponse) UnmarshalNDR

type V2NotifyInfo

type V2NotifyInfo struct {
	Version uint32              `idl:"name:Version" json:"version"`
	Flags   uint32              `idl:"name:Flags" json:"flags"`
	Count   uint32              `idl:"name:Count" json:"count"`
	Data    []*V2NotifyInfoData `idl:"name:aData;size_is:(Count);pointer:unique" json:"data"`
}

V2NotifyInfo structure represents RPC_V2_NOTIFY_INFO RPC structure.

func (*V2NotifyInfo) MarshalNDR

func (o *V2NotifyInfo) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*V2NotifyInfo) NDRSizeInfo

func (o *V2NotifyInfo) NDRSizeInfo() []uint64

func (*V2NotifyInfo) UnmarshalNDR

func (o *V2NotifyInfo) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type V2NotifyInfoData

type V2NotifyInfoData struct {
	Type               uint16                `idl:"name:Type" json:"type"`
	Field              uint16                `idl:"name:Field" json:"field"`
	NotifyInfoDataType uint32                `idl:"name:NotifyInfoDataType" json:"notify_info_data_type"`
	ID                 uint32                `idl:"name:Id" json:"id"`
	Data               *V2NotifyInfoDataData `idl:"name:Data;switch_is:(NotifyInfoDataType 65535 &)" json:"data"`
}

V2NotifyInfoData structure represents RPC_V2_NOTIFY_INFO_DATA RPC structure.

func (*V2NotifyInfoData) MarshalNDR

func (o *V2NotifyInfoData) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*V2NotifyInfoData) UnmarshalNDR

func (o *V2NotifyInfoData) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type V2NotifyInfoDataData

type V2NotifyInfoDataData struct {
	// Types that are assignable to Value
	//
	// *V2NotifyInfoDataData_String
	// *V2NotifyInfoDataData_Data
	// *V2NotifyInfoDataData_SystemTime
	// *V2NotifyInfoDataData_DevMode
	// *V2NotifyInfoDataData_SecurityDescriptor
	Value is_V2NotifyInfoDataData `json:"value"`
}

V2NotifyInfoDataData structure represents RPC_V2_NOTIFY_INFO_DATA_DATA RPC union.

func (*V2NotifyInfoDataData) GetValue

func (o *V2NotifyInfoDataData) GetValue() any

func (*V2NotifyInfoDataData) MarshalUnionNDR

func (o *V2NotifyInfoDataData) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*V2NotifyInfoDataData) NDRSwitchValue

func (o *V2NotifyInfoDataData) NDRSwitchValue(sw uint32) uint32

func (*V2NotifyInfoDataData) UnmarshalUnionNDR

func (o *V2NotifyInfoDataData) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type V2NotifyInfoDataData_Data

type V2NotifyInfoDataData_Data struct {
	Data []uint32 `idl:"name:dwData" json:"data"`
}

V2NotifyInfoDataData_Data structure represents RPC_V2_NOTIFY_INFO_DATA_DATA RPC union arm.

It has following labels: 1

func (*V2NotifyInfoDataData_Data) MarshalNDR

func (o *V2NotifyInfoDataData_Data) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*V2NotifyInfoDataData_Data) UnmarshalNDR

func (o *V2NotifyInfoDataData_Data) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type V2NotifyInfoDataData_DevMode

type V2NotifyInfoDataData_DevMode struct {
	DevMode *DevModeContainer `idl:"name:DevMode" json:"dev_mode"`
}

V2NotifyInfoDataData_DevMode structure represents RPC_V2_NOTIFY_INFO_DATA_DATA RPC union arm.

It has following labels: 3

func (*V2NotifyInfoDataData_DevMode) MarshalNDR

func (*V2NotifyInfoDataData_DevMode) UnmarshalNDR

func (o *V2NotifyInfoDataData_DevMode) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type V2NotifyInfoDataData_SecurityDescriptor

type V2NotifyInfoDataData_SecurityDescriptor struct {
	SecurityDescriptor *SecurityContainer `idl:"name:SecurityDescriptor" json:"security_descriptor"`
}

V2NotifyInfoDataData_SecurityDescriptor structure represents RPC_V2_NOTIFY_INFO_DATA_DATA RPC union arm.

It has following labels: 5

func (*V2NotifyInfoDataData_SecurityDescriptor) MarshalNDR

func (*V2NotifyInfoDataData_SecurityDescriptor) UnmarshalNDR

type V2NotifyInfoDataData_String

type V2NotifyInfoDataData_String struct {
	String *StringContainer `idl:"name:String" json:"string"`
}

V2NotifyInfoDataData_String structure represents RPC_V2_NOTIFY_INFO_DATA_DATA RPC union arm.

It has following labels: 2

func (*V2NotifyInfoDataData_String) MarshalNDR

func (*V2NotifyInfoDataData_String) UnmarshalNDR

func (o *V2NotifyInfoDataData_String) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type V2NotifyInfoDataData_SystemTime

type V2NotifyInfoDataData_SystemTime struct {
	SystemTime *SystemTimeContainer `idl:"name:SystemTime" json:"system_time"`
}

V2NotifyInfoDataData_SystemTime structure represents RPC_V2_NOTIFY_INFO_DATA_DATA RPC union arm.

It has following labels: 4

func (*V2NotifyInfoDataData_SystemTime) MarshalNDR

func (*V2NotifyInfoDataData_SystemTime) UnmarshalNDR

type V2NotifyOptions

type V2NotifyOptions struct {
	Version uint32 `idl:"name:Version" json:"version"`

	Count uint32                 `idl:"name:Count" json:"count"`
	Types []*V2NotifyOptionsType `idl:"name:pTypes;size_is:(Count);pointer:unique" json:"types"`
	// contains filtered or unexported fields
}

V2NotifyOptions structure represents RPC_V2_NOTIFY_OPTIONS RPC structure.

func (*V2NotifyOptions) MarshalNDR

func (o *V2NotifyOptions) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*V2NotifyOptions) UnmarshalNDR

func (o *V2NotifyOptions) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type V2NotifyOptionsType

type V2NotifyOptionsType struct {
	Type uint16 `idl:"name:Type" json:"type"`

	Count  uint32   `idl:"name:Count" json:"count"`
	Fields []uint16 `idl:"name:pFields;size_is:(Count);pointer:unique" json:"fields"`
	// contains filtered or unexported fields
}

V2NotifyOptionsType structure represents RPC_V2_NOTIFY_OPTIONS_TYPE RPC structure.

func (*V2NotifyOptionsType) MarshalNDR

func (o *V2NotifyOptionsType) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*V2NotifyOptionsType) UnmarshalNDR

func (o *V2NotifyOptionsType) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type V2ReplyPrinter

type V2ReplyPrinter struct {
	// Types that are assignable to Value
	//
	// *V2ReplyPrinter_Info
	Value is_V2ReplyPrinter `json:"value"`
}

V2ReplyPrinter structure represents RPC_V2_UREPLY_PRINTER RPC union.

func (*V2ReplyPrinter) GetValue

func (o *V2ReplyPrinter) GetValue() any

func (*V2ReplyPrinter) MarshalUnionNDR

func (o *V2ReplyPrinter) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error

func (*V2ReplyPrinter) NDRSwitchValue

func (o *V2ReplyPrinter) NDRSwitchValue(sw uint32) uint32

func (*V2ReplyPrinter) UnmarshalUnionNDR

func (o *V2ReplyPrinter) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error

type V2ReplyPrinter_Info

type V2ReplyPrinter_Info struct {
	Info *V2NotifyInfo `idl:"name:pInfo" json:"info"`
}

V2ReplyPrinter_Info structure represents RPC_V2_UREPLY_PRINTER RPC union arm.

It has following labels: 0

func (*V2ReplyPrinter_Info) MarshalNDR

func (o *V2ReplyPrinter_Info) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*V2ReplyPrinter_Info) UnmarshalNDR

func (o *V2ReplyPrinter_Info) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type WritePrinterRequest

type WritePrinterRequest struct {
	// hPrinter: A handle to a printer object or port object that was opened by using either
	// RpcAsyncOpenPrinter (section 3.1.4.1.1) or RpcAsyncAddPrinter (section 3.1.4.1.2).
	Printer      *Printer `idl:"name:hPrinter" json:"printer"`
	Buffer       []byte   `idl:"name:pBuf;size_is:(cbBuf)" json:"buffer"`
	BufferLength uint32   `idl:"name:cbBuf" json:"buffer_length"`
}

WritePrinterRequest structure represents the RpcAsyncWritePrinter operation request

func (*WritePrinterRequest) MarshalNDR

func (o *WritePrinterRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*WritePrinterRequest) UnmarshalNDR

func (o *WritePrinterRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type WritePrinterResponse

type WritePrinterResponse struct {
	WrittenCount uint32 `idl:"name:pcWritten" json:"written_count"`
	// Return: The RpcAsyncWritePrinter return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

WritePrinterResponse structure represents the RpcAsyncWritePrinter operation response

func (*WritePrinterResponse) MarshalNDR

func (o *WritePrinterResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*WritePrinterResponse) UnmarshalNDR

func (o *WritePrinterResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type XcvDataRequest

type XcvDataRequest struct {
	// hXcv: A handle to a port object that has been opened by using RpcAsyncOpenPrinter
	// (section 3.1.4.1.1).
	Xcv              *Printer `idl:"name:hXcv" json:"xcv"`
	DataName         string   `idl:"name:pszDataName;string" json:"data_name"`
	InputData        []byte   `idl:"name:pInputData;size_is:(cbInputData)" json:"input_data"`
	InputDataLength  uint32   `idl:"name:cbInputData" json:"input_data_length"`
	OutputDataLength uint32   `idl:"name:cbOutputData" json:"output_data_length"`
	Status           uint32   `idl:"name:pdwStatus" json:"status"`
}

XcvDataRequest structure represents the RpcAsyncXcvData operation request

func (*XcvDataRequest) MarshalNDR

func (o *XcvDataRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*XcvDataRequest) UnmarshalNDR

func (o *XcvDataRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type XcvDataResponse

type XcvDataResponse struct {
	OutputData         []byte `idl:"name:pOutputData;size_is:(cbOutputData)" json:"output_data"`
	OutputNeededLength uint32 `idl:"name:pcbOutputNeeded" json:"output_needed_length"`
	Status             uint32 `idl:"name:pdwStatus" json:"status"`
	// Return: The RpcAsyncXcvData return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

XcvDataResponse structure represents the RpcAsyncXcvData operation response

func (*XcvDataResponse) MarshalNDR

func (o *XcvDataResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*XcvDataResponse) UnmarshalNDR

func (o *XcvDataResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL