ivdsvolume

package
v1.2.4 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IVdsVolume interface identifier 88306bb2-e71f-478c-86a2-79da200a0f11
	VolumeIID = &dcom.IID{Data1: 0x88306bb2, Data2: 0xe71f, Data3: 0x478c, Data4: []byte{0x86, 0xa2, 0x79, 0xda, 0x20, 0x0a, 0x0f, 0x11}}
	// Syntax UUID
	VolumeSyntaxUUID = &uuid.UUID{TimeLow: 0x88306bb2, TimeMid: 0xe71f, TimeHiAndVersion: 0x478c, ClockSeqHiAndReserved: 0x86, ClockSeqLow: 0xa2, Node: [6]uint8{0x79, 0xda, 0x20, 0xa, 0xf, 0x11}}
	// Syntax ID
	VolumeSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: VolumeSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/vds"
)

Functions

func NewVolumeServerHandle

func NewVolumeServerHandle(o VolumeServer) dcerpc.ServerHandle

func RegisterVolumeServer

func RegisterVolumeServer(conn dcerpc.Conn, o VolumeServer, opts ...dcerpc.Option)

func VolumeServerHandle

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

Types

type AddPlexRequest

type AddPlexRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// VolumeId: The VDS object ID of the volume object to add as a plex.
	VolumeID *vds.ObjectID `idl:"name:VolumeId" json:"volume_id"`
}

AddPlexRequest structure represents the AddPlex operation request

func (*AddPlexRequest) MarshalNDR

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

func (*AddPlexRequest) UnmarshalNDR

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

type AddPlexResponse

type AddPlexResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppAsync: A pointer to an IVdsAsync interface that, if the operation is successfully
	// completed, receives the IVdsAsync interface to monitor and control this operation.
	// Callers MUST release the interface when they are done with it.
	Async *vds.Async `idl:"name:ppAsync" json:"async"`
	// Return: The AddPlex return value.
	Return int32 `idl:"name:Return" json:"return"`
}

AddPlexResponse structure represents the AddPlex operation response

func (*AddPlexResponse) MarshalNDR

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

func (*AddPlexResponse) UnmarshalNDR

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

type BreakPlexRequest

type BreakPlexRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// plexId: The GUID of the plex to be broken.
	PlexID *vds.ObjectID `idl:"name:plexId" json:"plex_id"`
}

BreakPlexRequest structure represents the BreakPlex operation request

func (*BreakPlexRequest) MarshalNDR

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

func (*BreakPlexRequest) UnmarshalNDR

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

type BreakPlexResponse

type BreakPlexResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppAsync: A pointer to an IVdsAsync interface that, if the operation is successfully
	// completed, receives the IVdsAsync interface to monitor and control this operation.
	// Callers MUST release the interface when they are done with it. If the IVdsAsync::Wait
	// method is called on the interface, the interfaces returned in the VDS_ASYNC_OUTPUT
	// structure MUST be released as well. For information on asynchronous tasks, see section
	// 3.4.5.1.9.
	Async *vds.Async `idl:"name:ppAsync" json:"async"`
	// Return: The BreakPlex return value.
	Return int32 `idl:"name:Return" json:"return"`
}

BreakPlexResponse structure represents the BreakPlex operation response

func (*BreakPlexResponse) MarshalNDR

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

func (*BreakPlexResponse) UnmarshalNDR

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

type ClearFlagsRequest

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

ClearFlagsRequest structure represents the ClearFlags operation request

func (*ClearFlagsRequest) MarshalNDR

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

func (*ClearFlagsRequest) UnmarshalNDR

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

type ClearFlagsResponse

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

ClearFlagsResponse structure represents the ClearFlags operation response

func (*ClearFlagsResponse) MarshalNDR

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

func (*ClearFlagsResponse) UnmarshalNDR

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

type DeleteRequest

type DeleteRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// bForce: A Boolean that determines whether all plexes in a volume are deleted when
	// the volume is in use.
	Force int32 `idl:"name:bForce" json:"force"`
}

DeleteRequest structure represents the Delete operation request

func (*DeleteRequest) MarshalNDR

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

func (*DeleteRequest) UnmarshalNDR

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

type DeleteResponse

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

DeleteResponse structure represents the Delete operation response

func (*DeleteResponse) MarshalNDR

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

func (*DeleteResponse) UnmarshalNDR

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

type ExtendRequest

type ExtendRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pInputDiskArray: A pointer to an array of VDS_INPUT_DISK structures that describe
	// the disk extents to add to the volume--one structure for each disk. Callers SHOULD
	// specify the member index for all the disk extents together with the Extend method,
	// unless the volume has only one plex with only one member.
	InputDiskArray []*vds.InputDisk `idl:"name:pInputDiskArray;size_is:(lNumberOfDisks);pointer:unique" json:"input_disk_array"`
	// lNumberOfDisks: The number of elements in pInputDiskArrray.<111>
	NumberOfDisks int32 `idl:"name:lNumberOfDisks" json:"number_of_disks"`
}

ExtendRequest structure represents the Extend operation request

func (*ExtendRequest) MarshalNDR

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

func (*ExtendRequest) UnmarshalNDR

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

type ExtendResponse

type ExtendResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppAsync: A pointer to an IVdsAsync interface that, if the operation is successfully
	// completed, receives the IVdsAsync interface to monitor and control this operation.
	// Callers MUST release the interface when they are done with it.
	Async *vds.Async `idl:"name:ppAsync" json:"async"`
	// Return: The Extend return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ExtendResponse structure represents the Extend operation response

func (*ExtendResponse) MarshalNDR

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

func (*ExtendResponse) UnmarshalNDR

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

type GetPackRequest

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

GetPackRequest structure represents the GetPack operation request

func (*GetPackRequest) MarshalNDR

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

func (*GetPackRequest) UnmarshalNDR

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

type GetPackResponse

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

GetPackResponse structure represents the GetPack operation response

func (*GetPackResponse) MarshalNDR

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

func (*GetPackResponse) UnmarshalNDR

func (o *GetPackResponse) 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"`
	VolumeProperties *vds.VolumeProperty `idl:"name:pVolumeProperties" json:"volume_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 QueryPlexesRequest

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

QueryPlexesRequest structure represents the QueryPlexes operation request

func (*QueryPlexesRequest) MarshalNDR

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

func (*QueryPlexesRequest) UnmarshalNDR

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

type QueryPlexesResponse

type QueryPlexesResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppEnum: A pointer to an IEnumVdsObject interface that, if the operation is successfully
	// completed, receives the IEnumVdsObject interface of the object that contains an enumeration
	// of volume plex objects in the volume. Callers MUST release the interface when they
	// are done with it.
	Enum *vds.EnumObject `idl:"name:ppEnum" json:"enum"`
	// Return: The QueryPlexes return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryPlexesResponse structure represents the QueryPlexes operation response

func (*QueryPlexesResponse) MarshalNDR

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

func (*QueryPlexesResponse) UnmarshalNDR

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

type RemovePlexRequest

type RemovePlexRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// plexId: The VDS object ID of the volume plex object to remove.
	PlexID *vds.ObjectID `idl:"name:plexId" json:"plex_id"`
}

RemovePlexRequest structure represents the RemovePlex operation request

func (*RemovePlexRequest) MarshalNDR

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

func (*RemovePlexRequest) UnmarshalNDR

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

type RemovePlexResponse

type RemovePlexResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppAsync: A pointer to an IVdsAsync interface that, if the operation is successfully
	// completed, receives the IVdsAsync interface to monitor and control this operation.
	// Callers MUST release the interface when they are done with it.
	Async *vds.Async `idl:"name:ppAsync" json:"async"`
	// Return: The RemovePlex return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RemovePlexResponse structure represents the RemovePlex operation response

func (*RemovePlexResponse) MarshalNDR

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

func (*RemovePlexResponse) UnmarshalNDR

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

type SetFlagsRequest

type SetFlagsRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This          *dcom.ORPCThis `idl:"name:This" json:"this"`
	Flags         uint32         `idl:"name:ulFlags" json:"flags"`
	RevertOnClose int32          `idl:"name:bRevertOnClose" json:"revert_on_close"`
}

SetFlagsRequest structure represents the SetFlags operation request

func (*SetFlagsRequest) MarshalNDR

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

func (*SetFlagsRequest) UnmarshalNDR

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

type SetFlagsResponse

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

SetFlagsResponse structure represents the SetFlags operation response

func (*SetFlagsResponse) MarshalNDR

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

func (*SetFlagsResponse) UnmarshalNDR

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

type ShrinkRequest

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

ShrinkRequest structure represents the Shrink operation request

func (*ShrinkRequest) MarshalNDR

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

func (*ShrinkRequest) UnmarshalNDR

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

type ShrinkResponse

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

ShrinkResponse structure represents the Shrink operation response

func (*ShrinkResponse) MarshalNDR

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

func (*ShrinkResponse) UnmarshalNDR

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

type UnimplementedVolumeServer added in v1.1.5

type UnimplementedVolumeServer struct {
	iunknown.UnimplementedUnknownServer
}

Unimplemented IVdsVolume

func (UnimplementedVolumeServer) AddPlex added in v1.1.5

func (UnimplementedVolumeServer) BreakPlex added in v1.1.5

func (UnimplementedVolumeServer) ClearFlags added in v1.1.5

func (UnimplementedVolumeServer) Delete added in v1.1.5

func (UnimplementedVolumeServer) Extend added in v1.1.5

func (UnimplementedVolumeServer) GetPack added in v1.1.5

func (UnimplementedVolumeServer) GetProperties added in v1.1.5

func (UnimplementedVolumeServer) QueryPlexes added in v1.1.5

func (UnimplementedVolumeServer) RemovePlex added in v1.1.5

func (UnimplementedVolumeServer) SetFlags added in v1.1.5

func (UnimplementedVolumeServer) Shrink added in v1.1.5

type VolumeClient

type VolumeClient interface {

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

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

	// GetPack operation.
	GetPack(context.Context, *GetPackRequest, ...dcerpc.CallOption) (*GetPackResponse, error)

	// The QueryPlexes method enumerates the plexes of a volume.
	//
	// 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.
	QueryPlexes(context.Context, *QueryPlexesRequest, ...dcerpc.CallOption) (*QueryPlexesResponse, error)

	// The Extend method expands the size of the current volume by adding disk extents to
	// each member of each plex.
	//
	// 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.
	Extend(context.Context, *ExtendRequest, ...dcerpc.CallOption) (*ExtendResponse, error)

	// Shrink operation.
	Shrink(context.Context, *ShrinkRequest, ...dcerpc.CallOption) (*ShrinkResponse, error)

	// The AddPlex method adds a volume as a plex to the current volume.
	//
	// 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.
	AddPlex(context.Context, *AddPlexRequest, ...dcerpc.CallOption) (*AddPlexResponse, error)

	// The BreakPlex method removes a specified plex from the current volume. The interface
	// pointer for the new volume object can be retrieved by calling IVdsAsync::Wait through
	// the ppAsync parameter. The VDS_ASYNC_OUTPUT structure that is returned contains the
	// volume object interface pointer in the bvp.pVolumeUnk member.
	//
	// 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.
	BreakPlex(context.Context, *BreakPlexRequest, ...dcerpc.CallOption) (*BreakPlexResponse, error)

	// The RemovePlex method removes a specified plex from a volume. The last plex of a
	// volume cannot be removed.
	//
	// 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.
	RemovePlex(context.Context, *RemovePlexRequest, ...dcerpc.CallOption) (*RemovePlexResponse, error)

	// The Delete method deletes all plexes in a volume.<118>
	//
	// 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.
	//
	// ERROR_SUCCESS (0x00000000)
	Delete(context.Context, *DeleteRequest, ...dcerpc.CallOption) (*DeleteResponse, error)

	// SetFlags operation.
	SetFlags(context.Context, *SetFlagsRequest, ...dcerpc.CallOption) (*SetFlagsResponse, error)

	// ClearFlags operation.
	ClearFlags(context.Context, *ClearFlagsRequest, ...dcerpc.CallOption) (*ClearFlagsResponse, 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) VolumeClient
}

IVdsVolume interface.

func NewVolumeClient

func NewVolumeClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (VolumeClient, error)

type VolumeServer

type VolumeServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

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

	// GetPack operation.
	GetPack(context.Context, *GetPackRequest) (*GetPackResponse, error)

	// The QueryPlexes method enumerates the plexes of a volume.
	//
	// 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.
	QueryPlexes(context.Context, *QueryPlexesRequest) (*QueryPlexesResponse, error)

	// The Extend method expands the size of the current volume by adding disk extents to
	// each member of each plex.
	//
	// 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.
	Extend(context.Context, *ExtendRequest) (*ExtendResponse, error)

	// Shrink operation.
	Shrink(context.Context, *ShrinkRequest) (*ShrinkResponse, error)

	// The AddPlex method adds a volume as a plex to the current volume.
	//
	// 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.
	AddPlex(context.Context, *AddPlexRequest) (*AddPlexResponse, error)

	// The BreakPlex method removes a specified plex from the current volume. The interface
	// pointer for the new volume object can be retrieved by calling IVdsAsync::Wait through
	// the ppAsync parameter. The VDS_ASYNC_OUTPUT structure that is returned contains the
	// volume object interface pointer in the bvp.pVolumeUnk member.
	//
	// 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.
	BreakPlex(context.Context, *BreakPlexRequest) (*BreakPlexResponse, error)

	// The RemovePlex method removes a specified plex from a volume. The last plex of a
	// volume cannot be removed.
	//
	// 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.
	RemovePlex(context.Context, *RemovePlexRequest) (*RemovePlexResponse, error)

	// The Delete method deletes all plexes in a volume.<118>
	//
	// 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.
	//
	// ERROR_SUCCESS (0x00000000)
	Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)

	// SetFlags operation.
	SetFlags(context.Context, *SetFlagsRequest) (*SetFlagsResponse, error)

	// ClearFlags operation.
	ClearFlags(context.Context, *ClearFlagsRequest) (*ClearFlagsResponse, error)
}

IVdsVolume server interface.

Jump to

Keyboard shortcuts

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