ivdsvdisk

package
v0.1.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 (
	// 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 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

	// 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