ivdsvolumeplex

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IVdsVolumePlex interface identifier 4daa0135-e1d1-40f1-aaa5-3cc1e53221c3
	VolumePlexIID = &dcom.IID{Data1: 0x4daa0135, Data2: 0xe1d1, Data3: 0x40f1, Data4: []byte{0xaa, 0xa5, 0x3c, 0xc1, 0xe5, 0x32, 0x21, 0xc3}}
	// Syntax UUID
	VolumePlexSyntaxUUID = &uuid.UUID{TimeLow: 0x4daa0135, TimeMid: 0xe1d1, TimeHiAndVersion: 0x40f1, ClockSeqHiAndReserved: 0xaa, ClockSeqLow: 0xa5, Node: [6]uint8{0x3c, 0xc1, 0xe5, 0x32, 0x21, 0xc3}}
	// Syntax ID
	VolumePlexSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: VolumePlexSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/vds"
)

Functions

func NewVolumePlexServerHandle

func NewVolumePlexServerHandle(o VolumePlexServer) dcerpc.ServerHandle

func RegisterVolumePlexServer

func RegisterVolumePlexServer(conn dcerpc.Conn, o VolumePlexServer, opts ...dcerpc.Option)

func VolumePlexServerHandle

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

Types

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"`
	PlexProperties *vds.VolumePlexProperty `idl:"name:pPlexProperties" json:"plex_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 GetVolumeRequest

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

GetVolumeRequest structure represents the GetVolume operation request

func (*GetVolumeRequest) MarshalNDR

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

func (*GetVolumeRequest) UnmarshalNDR

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

type GetVolumeResponse

type GetVolumeResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppVolume: A pointer to an IVdsVolume interface that, if the operation is successfully
	// completed, receives the IVdsVolume interface of the volume object that the volume
	// plex belongs to. Callers MUST release the interface when they are done with it.
	Volume *vds.Volume `idl:"name:ppVolume" json:"volume"`
	// Return: The GetVolume return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetVolumeResponse structure represents the GetVolume operation response

func (*GetVolumeResponse) MarshalNDR

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

func (*GetVolumeResponse) UnmarshalNDR

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

type QueryExtentsRequest

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

QueryExtentsRequest structure represents the QueryExtents operation request

func (*QueryExtentsRequest) MarshalNDR

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

func (*QueryExtentsRequest) UnmarshalNDR

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

type QueryExtentsResponse

type QueryExtentsResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That            *dcom.ORPCThat    `idl:"name:That" json:"that"`
	ExtentArray     []*vds.DiskExtent `idl:"name:ppExtentArray;size_is:(, plNumberOfExtents)" json:"extent_array"`
	NumberOfExtents int32             `idl:"name:plNumberOfExtents" json:"number_of_extents"`
	// Return: The QueryExtents return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryExtentsResponse structure represents the QueryExtents operation response

func (*QueryExtentsResponse) MarshalNDR

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

func (*QueryExtentsResponse) UnmarshalNDR

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

type RepairRequest

type RepairRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pInputDiskArray: An array of VDS_INPUT_DISK structures that describe the replacement
	// disks. Only diskId and ullSize SHOULD be specified in each VDS_INPUT_DISK element.
	// Only one new disk can be passed to this method at a time.
	InputDiskArray []*vds.InputDisk `idl:"name:pInputDiskArray;size_is:(lNumberOfDisks)" json:"input_disk_array"`
	// lNumberOfDisks: The number of elements in pInputDiskArray. Only one new disk can
	// be passed to this method at a time.
	NumberOfDisks int32 `idl:"name:lNumberOfDisks" json:"number_of_disks"`
}

RepairRequest structure represents the Repair operation request

func (*RepairRequest) MarshalNDR

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

func (*RepairRequest) UnmarshalNDR

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

type RepairResponse

type RepairResponse 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 Wait method
	// is called on the interface, the interface 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 Repair return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RepairResponse structure represents the Repair operation response

func (*RepairResponse) MarshalNDR

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

func (*RepairResponse) UnmarshalNDR

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

type VolumePlexClient

type VolumePlexClient interface {

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

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

	// The GetVolume method retrieves the volume that the volume plex belongs to.
	//
	// 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.
	GetVolume(context.Context, *GetVolumeRequest, ...dcerpc.CallOption) (*GetVolumeResponse, error)

	// QueryExtents operation.
	QueryExtents(context.Context, *QueryExtentsRequest, ...dcerpc.CallOption) (*QueryExtentsResponse, error)

	// The Repair method repairs a fault-tolerant volume plex by moving defective members
	// to good disks. Only plexes that are RAID-5, striped with parity, can be repaired
	// with this method.
	//
	// 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)
	Repair(context.Context, *RepairRequest, ...dcerpc.CallOption) (*RepairResponse, error)

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

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

IVdsVolumePlex interface.

func NewVolumePlexClient

func NewVolumePlexClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (VolumePlexClient, error)

type VolumePlexServer

type VolumePlexServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

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

	// The GetVolume method retrieves the volume that the volume plex belongs to.
	//
	// 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.
	GetVolume(context.Context, *GetVolumeRequest) (*GetVolumeResponse, error)

	// QueryExtents operation.
	QueryExtents(context.Context, *QueryExtentsRequest) (*QueryExtentsResponse, error)

	// The Repair method repairs a fault-tolerant volume plex by moving defective members
	// to good disks. Only plexes that are RAID-5, striped with parity, can be repaired
	// with this method.
	//
	// 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)
	Repair(context.Context, *RepairRequest) (*RepairResponse, error)
}

IVdsVolumePlex server interface.

Jump to

Keyboard shortcuts

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