iremunknown

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: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IRemUnknown interface identifier 00000131-0000-0000-c000-000000000046
	RemoteUnknownIID = &dcom.IID{Data1: 0x00000131, Data2: 0x0000, Data3: 0x0000, Data4: []byte{0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
	// Syntax UUID
	RemoteUnknownSyntaxUUID = &uuid.UUID{TimeLow: 0x131, TimeMid: 0x0, TimeHiAndVersion: 0x0, ClockSeqHiAndReserved: 0xc0, ClockSeqLow: 0x0, Node: [6]uint8{0x0, 0x0, 0x0, 0x0, 0x0, 0x46}}
	// Syntax ID
	RemoteUnknownSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: RemoteUnknownSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom"
)

Functions

func NewRemoteUnknownServerHandle

func NewRemoteUnknownServerHandle(o RemoteUnknownServer) dcerpc.ServerHandle

func RegisterRemoteUnknownServer

func RegisterRemoteUnknownServer(conn dcerpc.Conn, o RemoteUnknownServer, opts ...dcerpc.Option)

func RemoteUnknownServerHandle

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

Types

type RemoteAddReferenceRequest

type RemoteAddReferenceRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// cInterfaceRefs:  This MUST specify the number of elements sent in the InterfaceRefs
	// parameter and returned in the pResults parameter.
	InterfaceReferencesCount uint16 `idl:"name:cInterfaceRefs" json:"interface_references_count"`
	// InterfaceRefs:  This MUST specify an array of REMINTERFACEREF structures, each of
	// which specifies the number of public and private references to be added to the interface
	// identified by the IPID.
	InterfaceReferences []*dcom.RemoteInterfaceReference `idl:"name:InterfaceRefs;size_is:(cInterfaceRefs)" json:"interface_references"`
}

RemoteAddReferenceRequest structure represents the RemAddRef operation request

func (*RemoteAddReferenceRequest) MarshalNDR

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

func (*RemoteAddReferenceRequest) UnmarshalNDR

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

type RemoteAddReferenceResponse

type RemoteAddReferenceResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pResults:  This MUST contain an array of HRESULTs specifying the respective success
	// or failure of the RemAddRef operation for each REMINTERFACEREF element.
	Results []int32 `idl:"name:pResults;size_is:(cInterfaceRefs)" json:"results"`
	// Return: The RemAddRef return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemoteAddReferenceResponse structure represents the RemAddRef operation response

func (*RemoteAddReferenceResponse) MarshalNDR

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

func (*RemoteAddReferenceResponse) UnmarshalNDR

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

type RemoteQueryInterfaceRequest

type RemoteQueryInterfaceRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// ripid: This MUST specify an IPID that identifies the interface on the object to be
	// queried for more interfaces.
	IPID *dtyp.GUID `idl:"name:ripid" json:"ipid"`
	// cRefs: This MUST specify the number of public reference counts requested on the new
	// interfaces.
	ReferencesCount uint32 `idl:"name:cRefs" json:"references_count"`
	// cIids:  This MUST specify the number of IIDs supplied in the iids parameter and
	// returned in the ppQIResults parameter.
	IIDsCount uint16 `idl:"name:cIids" json:"iids_count"`
	// iids:  This MUST specify an array of IIDs for which the client requests object references.
	IIDs []*dcom.IID `idl:"name:iids;size_is:(cIids)" json:"iids"`
}

RemoteQueryInterfaceRequest structure represents the RemQueryInterface operation request

func (*RemoteQueryInterfaceRequest) MarshalNDR

func (*RemoteQueryInterfaceRequest) UnmarshalNDR

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

type RemoteQueryInterfaceResponse

type RemoteQueryInterfaceResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppQIResults: This MUST contain an array of REMQIRESULT structures containing the
	// results of the QueryInterface on the identified object.
	QueryInterfaceResults []*dcom.RemoteQueryInterfaceResult `idl:"name:ppQIResults;size_is:(, cIids)" json:"query_interface_results"`
	// Return: The RemQueryInterface return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemoteQueryInterfaceResponse structure represents the RemQueryInterface operation response

func (*RemoteQueryInterfaceResponse) MarshalNDR

func (*RemoteQueryInterfaceResponse) UnmarshalNDR

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

type RemoteReleaseRequest

type RemoteReleaseRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// cInterfaceRefs:  This MUST specify the number of elements in the InterfaceRefs parameter.
	InterfaceReferencesCount uint16 `idl:"name:cInterfaceRefs" json:"interface_references_count"`
	// InterfaceRefs:  This MUST specify an array of REMINTERFACEREF structures, each of
	// which specifies the number of public and private references to be released on the
	// interface identified by the IPID.
	InterfaceReferences []*dcom.RemoteInterfaceReference `idl:"name:InterfaceRefs;size_is:(cInterfaceRefs)" json:"interface_references"`
}

RemoteReleaseRequest structure represents the RemRelease operation request

func (*RemoteReleaseRequest) MarshalNDR

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

func (*RemoteReleaseRequest) UnmarshalNDR

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

type RemoteReleaseResponse

type RemoteReleaseResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The RemRelease return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemoteReleaseResponse structure represents the RemRelease operation response

func (*RemoteReleaseResponse) MarshalNDR

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

func (*RemoteReleaseResponse) UnmarshalNDR

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

type RemoteUnknownClient

type RemoteUnknownClient interface {

	// IUnknown retrieval method.
	Unknown() iunknown.UnknownClient

	// This RemQueryInterface (Opnum 3) method acquires standard object references (see
	// section 2.2.18.1) to additional interfaces on the object.
	RemoteQueryInterface(context.Context, *RemoteQueryInterfaceRequest, ...dcerpc.CallOption) (*RemoteQueryInterfaceResponse, error)

	// The RemAddRef (Opnum 4) method requests that a specified number of reference counts
	// be incremented on a specified number of interfaces on the object.
	RemoteAddReference(context.Context, *RemoteAddReferenceRequest, ...dcerpc.CallOption) (*RemoteAddReferenceResponse, error)

	// The RemRelease (Opnum 5) method requests that a specified number of reference counts
	// be decremented on a specified number of interfaces on an object.
	RemoteRelease(context.Context, *RemoteReleaseRequest, ...dcerpc.CallOption) (*RemoteReleaseResponse, error)

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

	// IPID sets the object interface identifier.
	IPID(context.Context, *dcom.IPID) RemoteUnknownClient
}

IRemUnknown interface.

func NewRemoteUnknownClient

func NewRemoteUnknownClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (RemoteUnknownClient, error)

type RemoteUnknownServer

type RemoteUnknownServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// This RemQueryInterface (Opnum 3) method acquires standard object references (see
	// section 2.2.18.1) to additional interfaces on the object.
	RemoteQueryInterface(context.Context, *RemoteQueryInterfaceRequest) (*RemoteQueryInterfaceResponse, error)

	// The RemAddRef (Opnum 4) method requests that a specified number of reference counts
	// be incremented on a specified number of interfaces on the object.
	RemoteAddReference(context.Context, *RemoteAddReferenceRequest) (*RemoteAddReferenceResponse, error)

	// The RemRelease (Opnum 5) method requests that a specified number of reference counts
	// be decremented on a specified number of interfaces on an object.
	RemoteRelease(context.Context, *RemoteReleaseRequest) (*RemoteReleaseResponse, error)
}

IRemUnknown server interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL