ivdsvdprovider

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 (
	// IVdsVdProvider interface identifier b481498c-8354-45f9-84a0-0bdd2832a91f
	VDiskProviderIID = &dcom.IID{Data1: 0xb481498c, Data2: 0x8354, Data3: 0x45f9, Data4: []byte{0x84, 0xa0, 0x0b, 0xdd, 0x28, 0x32, 0xa9, 0x1f}}
	// Syntax UUID
	VDiskProviderSyntaxUUID = &uuid.UUID{TimeLow: 0xb481498c, TimeMid: 0x8354, TimeHiAndVersion: 0x45f9, ClockSeqHiAndReserved: 0x84, ClockSeqLow: 0xa0, Node: [6]uint8{0xb, 0xdd, 0x28, 0x32, 0xa9, 0x1f}}
	// Syntax ID
	VDiskProviderSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: VDiskProviderSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/vds"
)

Functions

func NewVDiskProviderServerHandle

func NewVDiskProviderServerHandle(o VDiskProviderServer) dcerpc.ServerHandle

func RegisterVDiskProviderServer

func RegisterVDiskProviderServer(conn dcerpc.Conn, o VDiskProviderServer, opts ...dcerpc.Option)

func VDiskProviderServerHandle

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

Types

type AddVDiskRequest

type AddVDiskRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// VirtualDeviceType: A pointer to a VIRTUAL_STORAGE_TYPE (section 2.2.1.3.23) structure
	// that specifies the type of virtual hard disk to open.
	VirtualDeviceType *vds.VirtualStorageType `idl:"name:VirtualDeviceType" json:"virtual_device_type"`
	// pPath: A NULL-terminated wide-character string containing the fully qualified pathname
	// for the virtual disk's backing file.
	Path string `idl:"name:pPath;string" json:"path"`
}

AddVDiskRequest structure represents the AddVDisk operation request

func (*AddVDiskRequest) MarshalNDR

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

func (*AddVDiskRequest) UnmarshalNDR

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

type AddVDiskResponse

type AddVDiskResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That  *dcom.ORPCThat `idl:"name:That" json:"that"`
	VDisk *vds.VDisk     `idl:"name:ppVDisk" json:"v_disk"`
	// Return: The AddVDisk return value.
	Return int32 `idl:"name:Return" json:"return"`
}

AddVDiskResponse structure represents the AddVDisk operation response

func (*AddVDiskResponse) MarshalNDR

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

func (*AddVDiskResponse) UnmarshalNDR

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

type CreateVDiskRequest

type CreateVDiskRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// VirtualDeviceType: Pointer to a VIRTUAL_STORAGE_TYPE (section 2.2.1.3.23) structure
	// that specifies the type of virtual hard disk to be created.
	VirtualDeviceType *vds.VirtualStorageType `idl:"name:VirtualDeviceType" json:"virtual_device_type"`
	// pPath: A NULL-terminated wide-character string containing the name and directory
	// path for the backing file to be created for the virtual hard disk.
	Path string `idl:"name:pPath;string" json:"path"`
	// pStringSecurityDescriptor: A NULL-terminated wide-character string containing the
	// security descriptor to be applied to the virtual disk. Security descriptors MUST
	// be in the Security Descriptor Definition Language (see [MSDN-SDDLforDevObj]).<77>
	// If this parameter is NULL, the security descriptor in the caller's access token (see
	// [MSFT-WSM/WEDWNK]) MUST be used.
	StringSecurityDescriptor string `idl:"name:pStringSecurityDescriptor;string;pointer:unique" json:"string_security_descriptor"`
	// Flags: Bitmask of flags specifying how the virtual disk is to be created.
	Flags vds.CreateVirtualDiskFlag `idl:"name:Flags" json:"flags"`
	// ProviderSpecificFlags: A bitmask of flags that are specific to the type of virtual
	// hard disk that is being surfaced. These flags are provider-specific.<78>
	ProviderSpecificFlags uint32 `idl:"name:ProviderSpecificFlags" json:"provider_specific_flags"`
	// pCreateDiskParameters: Pointer to a VDS_CREATE_VDISK_PARAMETERS (section 2.2.2.18.2.1)
	// structure that contains the virtual hard disk creation parameters.
	CreateDiskParameters *vds.CreateVDiskParameters `idl:"name:pCreateDiskParameters" json:"create_disk_parameters"`
	// ppAsync: A pointer to an IVdsAsync (section 3.1.3.1) 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;pointer:unique" json:"async"`
}

CreateVDiskRequest structure represents the CreateVDisk operation request

func (*CreateVDiskRequest) MarshalNDR

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

func (*CreateVDiskRequest) UnmarshalNDR

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

type CreateVDiskResponse

type CreateVDiskResponse 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 (section 3.1.3.1) 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;pointer:unique" json:"async"`
	// Return: The CreateVDisk return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateVDiskResponse structure represents the CreateVDisk operation response

func (*CreateVDiskResponse) MarshalNDR

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

func (*CreateVDiskResponse) UnmarshalNDR

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

type GetDiskFromVDiskRequest

type GetDiskFromVDiskRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pVDisk: The IVdsVDisk interface pointer for the virtual disk.
	VDisk *vds.VDisk `idl:"name:pVDisk" json:"v_disk"`
}

GetDiskFromVDiskRequest structure represents the GetDiskFromVDisk operation request

func (*GetDiskFromVDiskRequest) MarshalNDR

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

func (*GetDiskFromVDiskRequest) UnmarshalNDR

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

type GetDiskFromVDiskResponse

type GetDiskFromVDiskResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	Disk *vds.Disk      `idl:"name:ppDisk" json:"disk"`
	// Return: The GetDiskFromVDisk return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDiskFromVDiskResponse structure represents the GetDiskFromVDisk operation response

func (*GetDiskFromVDiskResponse) MarshalNDR

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

func (*GetDiskFromVDiskResponse) UnmarshalNDR

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

type GetVDiskFromDiskRequest

type GetVDiskFromDiskRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pDisk: The IVdsDisk interface pointer to a disk.
	Disk *vds.Disk `idl:"name:pDisk" json:"disk"`
}

GetVDiskFromDiskRequest structure represents the GetVDiskFromDisk operation request

func (*GetVDiskFromDiskRequest) MarshalNDR

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

func (*GetVDiskFromDiskRequest) UnmarshalNDR

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

type GetVDiskFromDiskResponse

type GetVDiskFromDiskResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That  *dcom.ORPCThat `idl:"name:That" json:"that"`
	VDisk *vds.VDisk     `idl:"name:ppVDisk" json:"v_disk"`
	// Return: The GetVDiskFromDisk return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetVDiskFromDiskResponse structure represents the GetVDiskFromDisk operation response

func (*GetVDiskFromDiskResponse) MarshalNDR

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

func (*GetVDiskFromDiskResponse) UnmarshalNDR

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

type QueryVDisksRequest

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

QueryVDisksRequest structure represents the QueryVDisks operation request

func (*QueryVDisksRequest) MarshalNDR

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

func (*QueryVDisksRequest) UnmarshalNDR

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

type QueryVDisksResponse

type QueryVDisksResponse 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 (section 3.1.1.1) interface. If the operation
	// is successfully completed, the pointer receives the IEnumVdsObject interface of the
	// object, which contains an enumeration of virtual disk objects in the provider. Callers
	// MUST release the interface when they are finished with it.
	Enum *vds.EnumObject `idl:"name:ppEnum" json:"enum"`
	// Return: The QueryVDisks return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryVDisksResponse structure represents the QueryVDisks operation response

func (*QueryVDisksResponse) MarshalNDR

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

func (*QueryVDisksResponse) UnmarshalNDR

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

type VDiskProviderClient

type VDiskProviderClient interface {

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

	// The QueryVDisks method returns a list of virtual disks that are managed by the provider.
	//
	// Return Values: The method MUST return zero or a nonerror 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.
	QueryVDisks(context.Context, *QueryVDisksRequest, ...dcerpc.CallOption) (*QueryVDisksResponse, error)

	// The CreateVDisk method defines a new virtual disk. This method creates a virtual
	// disk file to be used as the backing store for the virtual disk.
	//
	// Return Values: The method MUST return zero 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.
	CreateVDisk(context.Context, *CreateVDiskRequest, ...dcerpc.CallOption) (*CreateVDiskResponse, error)

	// The AddVDisk method creates a virtual disk object representing the specified virtual
	// disk and adds it to the list of virtual disks managed by the provider. This method
	// returns an IVdsVDisk (section 3.1.15.1) interface pointer to the specified virtual
	// disk object.
	//
	// Return Values: The method MUST return zero or a nonerror 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.
	AddVDisk(context.Context, *AddVDiskRequest, ...dcerpc.CallOption) (*AddVDiskResponse, error)

	// The GetDiskFromVDisk method returns an IVdsDisk (section 3.1.12.1) interface pointer
	// for a virtual disk given an IVdsVDisk (section 3.1.15.1) interface pointer.
	//
	// 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.
	GetDiskFromVDisk(context.Context, *GetDiskFromVDiskRequest, ...dcerpc.CallOption) (*GetDiskFromVDiskResponse, error)

	// The GetVDiskFromDisk method returns an IVdsVDisk (section 3.1.15.1) interface pointer
	// for the virtual disk given an IVdsDisk (section 3.1.12.1) interface pointer.
	//
	// 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.
	GetVDiskFromDisk(context.Context, *GetVDiskFromDiskRequest, ...dcerpc.CallOption) (*GetVDiskFromDiskResponse, error)

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

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

IVdsVdProvider interface.

func NewVDiskProviderClient

func NewVDiskProviderClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (VDiskProviderClient, error)

type VDiskProviderServer

type VDiskProviderServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The QueryVDisks method returns a list of virtual disks that are managed by the provider.
	//
	// Return Values: The method MUST return zero or a nonerror 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.
	QueryVDisks(context.Context, *QueryVDisksRequest) (*QueryVDisksResponse, error)

	// The CreateVDisk method defines a new virtual disk. This method creates a virtual
	// disk file to be used as the backing store for the virtual disk.
	//
	// Return Values: The method MUST return zero 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.
	CreateVDisk(context.Context, *CreateVDiskRequest) (*CreateVDiskResponse, error)

	// The AddVDisk method creates a virtual disk object representing the specified virtual
	// disk and adds it to the list of virtual disks managed by the provider. This method
	// returns an IVdsVDisk (section 3.1.15.1) interface pointer to the specified virtual
	// disk object.
	//
	// Return Values: The method MUST return zero or a nonerror 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.
	AddVDisk(context.Context, *AddVDiskRequest) (*AddVDiskResponse, error)

	// The GetDiskFromVDisk method returns an IVdsDisk (section 3.1.12.1) interface pointer
	// for a virtual disk given an IVdsVDisk (section 3.1.15.1) interface pointer.
	//
	// 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.
	GetDiskFromVDisk(context.Context, *GetDiskFromVDiskRequest) (*GetDiskFromVDiskResponse, error)

	// The GetVDiskFromDisk method returns an IVdsVDisk (section 3.1.15.1) interface pointer
	// for the virtual disk given an IVdsDisk (section 3.1.12.1) interface pointer.
	//
	// 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.
	GetVDiskFromDisk(context.Context, *GetVDiskFromDiskRequest) (*GetVDiskFromDiskResponse, error)
}

IVdsVdProvider server interface.

Jump to

Keyboard shortcuts

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