ivdsvdprovider

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2025 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 UnimplementedVDiskProviderServer added in v1.1.5

type UnimplementedVDiskProviderServer struct {
	iunknown.UnimplementedUnknownServer
}

Unimplemented IVdsVdProvider

func (UnimplementedVDiskProviderServer) AddVDisk added in v1.1.5

func (UnimplementedVDiskProviderServer) CreateVDisk added in v1.1.5

func (UnimplementedVDiskProviderServer) GetDiskFromVDisk added in v1.1.5

func (UnimplementedVDiskProviderServer) GetVDiskFromDisk added in v1.1.5

func (UnimplementedVDiskProviderServer) QueryVDisks added in v1.1.5

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

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn

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