ivdsvdisk

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IVdsVDisk interface identifier 1e062b84-e5e6-4b4b-8a25-67b81e8f13e8
	VDiskIID = &dcom.IID{Data1: 0x1e062b84, Data2: 0xe5e6, Data3: 0x4b4b, Data4: []byte{0x8a, 0x25, 0x67, 0xb8, 0x1e, 0x8f, 0x13, 0xe8}}
	// Syntax UUID
	VDiskSyntaxUUID = &uuid.UUID{TimeLow: 0x1e062b84, TimeMid: 0xe5e6, TimeHiAndVersion: 0x4b4b, ClockSeqHiAndReserved: 0x8a, ClockSeqLow: 0x25, Node: [6]uint8{0x67, 0xb8, 0x1e, 0x8f, 0x13, 0xe8}}
	// Syntax ID
	VDiskSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: VDiskSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/vds"
)

Functions

func NewVDiskServerHandle

func NewVDiskServerHandle(o VDiskServer) dcerpc.ServerHandle

func RegisterVDiskServer

func RegisterVDiskServer(conn dcerpc.Conn, o VDiskServer, opts ...dcerpc.Option)

func VDiskServerHandle

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

Types

type GetDeviceNameRequest

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

GetDeviceNameRequest structure represents the GetDeviceName operation request

func (*GetDeviceNameRequest) MarshalNDR

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

func (*GetDeviceNameRequest) UnmarshalNDR

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

type GetDeviceNameResponse

type GetDeviceNameResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppDeviceName: A pointer to a variable that receives the device name of the disk.
	DeviceName string `idl:"name:ppDeviceName;string" json:"device_name"`
	// Return: The GetDeviceName return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDeviceNameResponse structure represents the GetDeviceName operation response

func (*GetDeviceNameResponse) MarshalNDR

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

func (*GetDeviceNameResponse) UnmarshalNDR

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

type GetHostVolumeRequest

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

GetHostVolumeRequest structure represents the GetHostVolume operation request

func (*GetHostVolumeRequest) MarshalNDR

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

func (*GetHostVolumeRequest) UnmarshalNDR

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

type GetHostVolumeResponse

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

GetHostVolumeResponse structure represents the GetHostVolume operation response

func (*GetHostVolumeResponse) MarshalNDR

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

func (*GetHostVolumeResponse) UnmarshalNDR

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

type GetPropertiesRequest

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

GetPropertiesRequest structure represents the GetProperties operation request

func (*GetPropertiesRequest) MarshalNDR

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

func (*GetPropertiesRequest) UnmarshalNDR

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

type GetPropertiesResponse

type GetPropertiesResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That           *dcom.ORPCThat       `idl:"name:That" json:"that"`
	DiskProperties *vds.VDiskProperties `idl:"name:pDiskProperties" json:"disk_properties"`
	// Return: The GetProperties return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetPropertiesResponse structure represents the GetProperties operation response

func (*GetPropertiesResponse) MarshalNDR

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

func (*GetPropertiesResponse) UnmarshalNDR

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

type OpenRequest

type OpenRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// AccessMask: A VIRTUAL_DISK_ACCESS_MASK (section 2.2.2.19.1.4) structure that contains
	// the set of access rights to be applied to the opened virtual disk.
	AccessMask vds.VirtualDiskAccessMask `idl:"name:AccessMask" json:"access_mask"`
	// Flags: A bitmask of OPEN_VIRTUAL_DISK_FLAG (section 2.2.2.19.1.2) flags specifying
	// how the virtual disk is to be opened.
	Flags vds.OpenVirtualDiskFlag `idl:"name:Flags" json:"flags"`
	// ReadWriteDepth: This is applicable only to differencing type virtual disks. The number
	// of backing stores (files) to open read/write. This count includes the child. The
	// remaining stores in the differencing chain MUST be opened as read-only. For example,
	// given a differencing disk with two parents (diskA is the differencing disk whose
	// parent is diskB, and since diskB is a differencing disk, it has a parent which is
	// diskC), entering '2' for this parameter will open the differencing disk (diskA) and
	// the parent used to create this differencing disk (diskB) as read-write. In this case,
	// diskB is also a differencing disk and its parent (diskC) is opened as read-only.
	ReadWriteDepth uint32 `idl:"name:ReadWriteDepth" json:"read_write_depth"`
}

OpenRequest structure represents the Open operation request

func (*OpenRequest) MarshalNDR

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

func (*OpenRequest) UnmarshalNDR

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

type OpenResponse

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

OpenResponse structure represents the Open operation response

func (*OpenResponse) MarshalNDR

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

func (*OpenResponse) UnmarshalNDR

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

type UnimplementedVDiskServer added in v1.1.5

type UnimplementedVDiskServer struct {
	iunknown.UnimplementedUnknownServer
}

Unimplemented IVdsVDisk

func (UnimplementedVDiskServer) GetDeviceName added in v1.1.5

func (UnimplementedVDiskServer) GetHostVolume added in v1.1.5

func (UnimplementedVDiskServer) GetProperties added in v1.1.5

func (UnimplementedVDiskServer) Open added in v1.1.5

type VDiskClient

type VDiskClient interface {

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

	// The Open method opens a handle to the specified virtual disk file and returns an
	// IVdsOpenVDisk (section 3.1.15.2) interface pointer to an object representing the
	// open virtual disk (an OpenVirtualDisk object). Release the IVdsOpenVDisk interface
	// to close the handle to the virtual disk.
	//
	// Return Values: The method MUST return zero to indicate success, or return an implementation-specific
	// nonzero error code to indicate failure.
	Open(context.Context, *OpenRequest, ...dcerpc.CallOption) (*OpenResponse, error)

	// GetProperties operation.
	GetProperties(context.Context, *GetPropertiesRequest, ...dcerpc.CallOption) (*GetPropertiesResponse, error)

	// The GetHostVolume method returns an interface pointer to the volume object for the
	// volume on which the virtual disk backing store file resides.<139>
	//
	// Return Values: The method MUST return zero or a non-error HRESULT (as specified in
	// [MS-ERREF]) to indicate success, or return an implementation-specific nonzero error
	// code to indicate failure. For the HRESULT values predefined by the Virtual Disk Service
	// Remote Protocol, see section 2.2.3.
	GetHostVolume(context.Context, *GetHostVolumeRequest, ...dcerpc.CallOption) (*GetHostVolumeResponse, error)

	// The GetDeviceName method returns the device name of the disk.
	//
	// Return Values: The method MUST return zero to indicate success, or return an implementation-specific
	// nonzero error code to indicate failure.
	GetDeviceName(context.Context, *GetDeviceNameRequest, ...dcerpc.CallOption) (*GetDeviceNameResponse, error)

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

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn

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

IVdsVDisk interface.

func NewVDiskClient

func NewVDiskClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (VDiskClient, error)

type VDiskServer

type VDiskServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The Open method opens a handle to the specified virtual disk file and returns an
	// IVdsOpenVDisk (section 3.1.15.2) interface pointer to an object representing the
	// open virtual disk (an OpenVirtualDisk object). Release the IVdsOpenVDisk interface
	// to close the handle to the virtual disk.
	//
	// Return Values: The method MUST return zero to indicate success, or return an implementation-specific
	// nonzero error code to indicate failure.
	Open(context.Context, *OpenRequest) (*OpenResponse, error)

	// GetProperties operation.
	GetProperties(context.Context, *GetPropertiesRequest) (*GetPropertiesResponse, error)

	// The GetHostVolume method returns an interface pointer to the volume object for the
	// volume on which the virtual disk backing store file resides.<139>
	//
	// Return Values: The method MUST return zero or a non-error HRESULT (as specified in
	// [MS-ERREF]) to indicate success, or return an implementation-specific nonzero error
	// code to indicate failure. For the HRESULT values predefined by the Virtual Disk Service
	// Remote Protocol, see section 2.2.3.
	GetHostVolume(context.Context, *GetHostVolumeRequest) (*GetHostVolumeResponse, error)

	// The GetDeviceName method returns the device name of the disk.
	//
	// Return Values: The method MUST return zero to indicate success, or return an implementation-specific
	// nonzero error code to indicate failure.
	GetDeviceName(context.Context, *GetDeviceNameRequest) (*GetDeviceNameResponse, error)
}

IVdsVDisk server interface.

Jump to

Keyboard shortcuts

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