ivdsvolume

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

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