idmremoteserver

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 (
	// IDMRemoteServer interface identifier 3a410f21-553f-11d1-8e5e-00a0c92c9d5d
	IDMRemoteServerIID = &dcom.IID{Data1: 0x3a410f21, Data2: 0x553f, Data3: 0x11d1, Data4: []byte{0x8e, 0x5e, 0x00, 0xa0, 0xc9, 0x2c, 0x9d, 0x5d}}
	// Syntax UUID
	IDMRemoteServerSyntaxUUID = &uuid.UUID{TimeLow: 0x3a410f21, TimeMid: 0x553f, TimeHiAndVersion: 0x11d1, ClockSeqHiAndReserved: 0x8e, ClockSeqLow: 0x5e, Node: [6]uint8{0x0, 0xa0, 0xc9, 0x2c, 0x9d, 0x5d}}
	// Syntax ID
	IDMRemoteServerSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: IDMRemoteServerSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/dmrp"
)

Functions

func IDMRemoteServerServerHandle

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

func NewIDMRemoteServerServerHandle

func NewIDMRemoteServerServerHandle(o IDMRemoteServerServer) dcerpc.ServerHandle

func RegisterIDMRemoteServerServer

func RegisterIDMRemoteServerServer(conn dcerpc.Conn, o IDMRemoteServerServer, opts ...dcerpc.Option)

Types

type CreateRemoteObjectRequest

type CreateRemoteObjectRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// cMax: Length of RemoteComputerName (in Unicode characters), including the terminating
	// null character.
	MaxCount uint32 `idl:"name:cMax" json:"max_count"`
	// RemoteComputerName: Null-terminated Unicode string that specifies the name of the
	// computer on which the server is to be activated. All UNC names ("\\server" or "server")
	// and DNS names ("domain.com", "example.microsoft.com", or "135.5.33.19") are allowed.
	RemoteComputerName string `idl:"name:RemoteComputerName;max_is:(cMax)" json:"remote_computer_name"`
}

CreateRemoteObjectRequest structure represents the CreateRemoteObject operation request

func (*CreateRemoteObjectRequest) MarshalNDR

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

func (*CreateRemoteObjectRequest) UnmarshalNDR

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

type CreateRemoteObjectResponse

type CreateRemoteObjectResponse 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 CreateRemoteObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateRemoteObjectResponse structure represents the CreateRemoteObject operation response

func (*CreateRemoteObjectResponse) MarshalNDR

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

func (*CreateRemoteObjectResponse) UnmarshalNDR

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

type IDMRemoteServerClient

type IDMRemoteServerClient interface {

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

	// The CreateRemoteObject method creates a disk management server, on the remote machine
	// specified by RemoteComputerName, by invoking DCOM with the class GUID of Disk Management
	// server and the name of the remote machine, which starts the disk management server
	// on the remote machine. The method negotiates for the interface as described in section
	// 3.1.3, and as illustrated in section 4. The client holds a reference to the IDMRemoteServer
	// interface binding on the server, until the client has received an IVolumeClient,
	// or IVolumeClient3 interface binding to the remote server. The client MAY then release
	// the IDMRemoteServer interface on the server.
	//
	// Return Values: The method MUST return 0 or a nonerror HRESULT on success, or an implementation-specific
	// nonzero error code on failure (as specified in [MS-ERREF]; see also section 2.2.1
	// for HRESULT values predefined by the Disk Management Remote Protocol).
	CreateRemoteObject(context.Context, *CreateRemoteObjectRequest, ...dcerpc.CallOption) (*CreateRemoteObjectResponse, error)

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

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

IDMRemoteServer interface.

func NewIDMRemoteServerClient

func NewIDMRemoteServerClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (IDMRemoteServerClient, error)

type IDMRemoteServerServer

type IDMRemoteServerServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The CreateRemoteObject method creates a disk management server, on the remote machine
	// specified by RemoteComputerName, by invoking DCOM with the class GUID of Disk Management
	// server and the name of the remote machine, which starts the disk management server
	// on the remote machine. The method negotiates for the interface as described in section
	// 3.1.3, and as illustrated in section 4. The client holds a reference to the IDMRemoteServer
	// interface binding on the server, until the client has received an IVolumeClient,
	// or IVolumeClient3 interface binding to the remote server. The client MAY then release
	// the IDMRemoteServer interface on the server.
	//
	// Return Values: The method MUST return 0 or a nonerror HRESULT on success, or an implementation-specific
	// nonzero error code on failure (as specified in [MS-ERREF]; see also section 2.2.1
	// for HRESULT values predefined by the Disk Management Remote Protocol).
	CreateRemoteObject(context.Context, *CreateRemoteObjectRequest) (*CreateRemoteObjectResponse, error)
}

IDMRemoteServer server interface.

Jump to

Keyboard shortcuts

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