imanagedobject

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 (
	// IManagedObject interface identifier c3fcc19e-a970-11d2-8b5a-00a0c9b7c9c4
	ManagedObjectIID = &dcom.IID{Data1: 0xc3fcc19e, Data2: 0xa970, Data3: 0x11d2, Data4: []byte{0x8b, 0x5a, 0x00, 0xa0, 0xc9, 0xb7, 0xc9, 0xc4}}
	// Syntax UUID
	ManagedObjectSyntaxUUID = &uuid.UUID{TimeLow: 0xc3fcc19e, TimeMid: 0xa970, TimeHiAndVersion: 0x11d2, ClockSeqHiAndReserved: 0x8b, ClockSeqLow: 0x5a, Node: [6]uint8{0x0, 0xa0, 0xc9, 0xb7, 0xc9, 0xc4}}
	// Syntax ID
	ManagedObjectSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: ManagedObjectSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/ioi"
)

Functions

func ManagedObjectServerHandle

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

func NewManagedObjectServerHandle

func NewManagedObjectServerHandle(o ManagedObjectServer) dcerpc.ServerHandle

func RegisterManagedObjectServer

func RegisterManagedObjectServer(conn dcerpc.Conn, o ManagedObjectServer, opts ...dcerpc.Option)

Types

type GetObjectIdentityRequest

type GetObjectIdentityRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

GetObjectIdentityRequest structure represents the GetObjectIdentity operation request

func (*GetObjectIdentityRequest) MarshalNDR

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

func (*GetObjectIdentityRequest) UnmarshalNDR

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

type GetObjectIdentityResponse

type GetObjectIdentityResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pBSTRGUID: The pBSTRGUID parameter is a GUID ([MS-DTYP] section 2.3.4.3). The pBSTRGUID
	// parameter MUST indicate the CLR instance in which this object was created.
	GUID *oaut.String `idl:"name:pBSTRGUID" json:"guid"`
	// AppDomainID: Optional parameter that contains implementation-specific, opaque, process-unique
	// identifiers. If present, the AppDomainID parameter MUST denote the process subdivision
	// in which this object resides.
	AppDomainID int32 `idl:"name:AppDomainID" json:"app_domain_id"`
	// pCCW: Optional field. Implementation-specific, opaque value that helps identify the
	// managed object. If present, this field MUST map back to the implementation's internal
	// representation of a managed object.
	CCW int64 `idl:"name:pCCW" json:"ccw"`
	// Return: The GetObjectIdentity return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetObjectIdentityResponse structure represents the GetObjectIdentity operation response

func (*GetObjectIdentityResponse) MarshalNDR

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

func (*GetObjectIdentityResponse) UnmarshalNDR

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

type GetSerializedBufferRequest

type GetSerializedBufferRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

GetSerializedBufferRequest structure represents the GetSerializedBuffer operation request

func (*GetSerializedBufferRequest) MarshalNDR

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

func (*GetSerializedBufferRequest) UnmarshalNDR

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

type GetSerializedBufferResponse

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

GetSerializedBufferResponse structure represents the GetSerializedBuffer operation response

func (*GetSerializedBufferResponse) MarshalNDR

func (*GetSerializedBufferResponse) UnmarshalNDR

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

type ManagedObjectClient

type ManagedObjectClient interface {

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

	// The GetSerializedBuffer method converts the given managed object to a binary-formatted
	// string representation that can be used to create a managed object.
	//
	// Return Values: The method MUST return a positive value or 0 to indicate successful
	// completion or a negative value to indicate failure.
	//
	//	+--------------------------+-------------+
	//	|          RETURN          |             |
	//	|        VALUE/CODE        | DESCRIPTION |
	//	|                          |             |
	//	+--------------------------+-------------+
	//	+--------------------------+-------------+
	//	| 0x00000000 ERROR_SUCCESS | Success.    |
	//	+--------------------------+-------------+
	//
	// Exceptions Thrown: No exceptions are thrown from this method beyond those thrown
	// by the underlying RPC protocol.
	GetSerializedBuffer(context.Context, *GetSerializedBufferRequest, ...dcerpc.CallOption) (*GetSerializedBufferResponse, error)

	// The IManagedObject::GetObjectIdentity method is used by a CLR instance to determine
	// whether a COM object entering the system is really a managed object that originated
	// in this CLR instance and within the current process division.
	//
	// Return Values: The method MUST return a positive value or 0 to indicate successful
	// completion or a negative value to indicate failure.
	//
	//	+--------------------------+-------------+
	//	|          RETURN          |             |
	//	|        VALUE/CODE        | DESCRIPTION |
	//	|                          |             |
	//	+--------------------------+-------------+
	//	+--------------------------+-------------+
	//	| 0x00000000 ERROR_SUCCESS | Success     |
	//	+--------------------------+-------------+
	//
	// Exceptions Thrown: No exceptions are thrown from this method beyond those thrown
	// by the underlying RPC protocol.
	GetObjectIdentity(context.Context, *GetObjectIdentityRequest, ...dcerpc.CallOption) (*GetObjectIdentityResponse, error)

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

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

IManagedObject interface.

func NewManagedObjectClient

func NewManagedObjectClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (ManagedObjectClient, error)

type ManagedObjectServer

type ManagedObjectServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The GetSerializedBuffer method converts the given managed object to a binary-formatted
	// string representation that can be used to create a managed object.
	//
	// Return Values: The method MUST return a positive value or 0 to indicate successful
	// completion or a negative value to indicate failure.
	//
	//	+--------------------------+-------------+
	//	|          RETURN          |             |
	//	|        VALUE/CODE        | DESCRIPTION |
	//	|                          |             |
	//	+--------------------------+-------------+
	//	+--------------------------+-------------+
	//	| 0x00000000 ERROR_SUCCESS | Success.    |
	//	+--------------------------+-------------+
	//
	// Exceptions Thrown: No exceptions are thrown from this method beyond those thrown
	// by the underlying RPC protocol.
	GetSerializedBuffer(context.Context, *GetSerializedBufferRequest) (*GetSerializedBufferResponse, error)

	// The IManagedObject::GetObjectIdentity method is used by a CLR instance to determine
	// whether a COM object entering the system is really a managed object that originated
	// in this CLR instance and within the current process division.
	//
	// Return Values: The method MUST return a positive value or 0 to indicate successful
	// completion or a negative value to indicate failure.
	//
	//	+--------------------------+-------------+
	//	|          RETURN          |             |
	//	|        VALUE/CODE        | DESCRIPTION |
	//	|                          |             |
	//	+--------------------------+-------------+
	//	+--------------------------+-------------+
	//	| 0x00000000 ERROR_SUCCESS | Success     |
	//	+--------------------------+-------------+
	//
	// Exceptions Thrown: No exceptions are thrown from this method beyond those thrown
	// by the underlying RPC protocol.
	GetObjectIdentity(context.Context, *GetObjectIdentityRequest) (*GetObjectIdentityResponse, error)
}

IManagedObject server interface.

Jump to

Keyboard shortcuts

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