ivsssnapshotmgmt

package
v1.2.18 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IVssSnapshotMgmt interface identifier fa7df749-66e7-4986-a27f-e2f04ae53772
	SnapshotManagementIID = &dcom.IID{Data1: 0xfa7df749, Data2: 0x66e7, Data3: 0x4986, Data4: []byte{0xa2, 0x7f, 0xe2, 0xf0, 0x4a, 0xe5, 0x37, 0x72}}
	// Syntax UUID
	SnapshotManagementSyntaxUUID = &uuid.UUID{TimeLow: 0xfa7df749, TimeMid: 0x66e7, TimeHiAndVersion: 0x4986, ClockSeqHiAndReserved: 0xa2, ClockSeqLow: 0x7f, Node: [6]uint8{0xe2, 0xf0, 0x4a, 0xe5, 0x37, 0x72}}
	// Syntax ID
	SnapshotManagementSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: SnapshotManagementSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/scmp"
)

Functions

func NewSnapshotManagementServerHandle

func NewSnapshotManagementServerHandle(o SnapshotManagementServer) dcerpc.ServerHandle

func RegisterSnapshotManagementServer

func RegisterSnapshotManagementServer(conn dcerpc.Conn, o SnapshotManagementServer, opts ...dcerpc.Option)

func SnapshotManagementServerHandle

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

Types

type GetProviderManagementInterfaceRequest

type GetProviderManagementInterfaceRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// ProviderId: MUST be set to the shadow copy provider UUID in Standards Assignments
	// (section 1.9).
	ProviderID *scmp.ID `idl:"name:ProviderId" json:"provider_id"`
	// InterfaceId: MUST be set to the UUID for the IVssDifferentialSoftwareSnapshotMgmt
	// interface in Standards Assignments (section 1.9).
	InterfaceID *dcom.IID `idl:"name:InterfaceId" json:"interface_id"`
}

GetProviderManagementInterfaceRequest structure represents the GetProviderMgmtInterface operation request

func (*GetProviderManagementInterfaceRequest) MarshalNDR

func (*GetProviderManagementInterfaceRequest) UnmarshalNDR

type GetProviderManagementInterfaceResponse

type GetProviderManagementInterfaceResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppItf: A pointer to an IUnknown pointer that upon completion contains a pointer to
	// an instance of the interface object that is specified by InterfaceId. A caller MUST
	// release the ppItf that is received when the caller is done with it.
	Interface *dcom.Unknown `idl:"name:ppItf" json:"interface"`
	// Return: The GetProviderMgmtInterface return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetProviderManagementInterfaceResponse structure represents the GetProviderMgmtInterface operation response

func (*GetProviderManagementInterfaceResponse) MarshalNDR

func (*GetProviderManagementInterfaceResponse) UnmarshalNDR

type QuerySnapshotsByVolumeRequest

type QuerySnapshotsByVolumeRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pwszVolumeName: A null-terminated UNICODE string that contains the drive letter,
	// mount point, or volume mount name for which the existing shadow copy collection is
	// requested.
	VolumeName string `idl:"name:pwszVolumeName" json:"volume_name"`
	// ProviderId: MUST be set to the shadow copy provider UUID as described in Standards
	// Assignments (section 1.9).
	ProviderID *scmp.ID `idl:"name:ProviderId" json:"provider_id"`
}

QuerySnapshotsByVolumeRequest structure represents the QuerySnapshotsByVolume operation request

func (*QuerySnapshotsByVolumeRequest) MarshalNDR

func (*QuerySnapshotsByVolumeRequest) UnmarshalNDR

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

type QuerySnapshotsByVolumeResponse

type QuerySnapshotsByVolumeResponse 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 IVssEnumObject pointer that upon completion, contains a collection
	// of shadow copies that exist on the server for the specified volume. Each element
	// in the collection MUST be a VSS_SNAPSHOT_PROP structure. A caller MUST release the
	// received ppEnum when the caller is done with it.
	Enum *scmp.EnumObject `idl:"name:ppEnum" json:"enum"`
	// Return: The QuerySnapshotsByVolume return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QuerySnapshotsByVolumeResponse structure represents the QuerySnapshotsByVolume operation response

func (*QuerySnapshotsByVolumeResponse) MarshalNDR

func (*QuerySnapshotsByVolumeResponse) UnmarshalNDR

type QueryVolumesSupportedForSnapshotsRequest

type QueryVolumesSupportedForSnapshotsRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// ProviderId: MUST be set to the shadow copy provider UUID as described in Standards
	// Assignments (section 1.9).
	ProviderID *scmp.ID `idl:"name:ProviderId" json:"provider_id"`
	// lContext: MUST be set to the bitwise OR combination of the following VSS_VOLUME_SNAPSHOT_ATTRIBUTES
	// flags.
	//
	//	+-------------------------------------------+
	//	|    SNAPSHOT ATTRIBUTE MASK FOR CONTEXT    |
	//	|                   VALUE                   |
	//	+-------------------------------------------+
	//	+-------------------------------------------+
	//	| VSS_VOLSNAP_ATTR_PERSISTENT               |
	//	+-------------------------------------------+
	//	| VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE        |
	//	+-------------------------------------------+
	//	| VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE          |
	//	+-------------------------------------------+
	//	| VSS_VOLSNAP_ATTR_NO_WRITERS               |
	//	+-------------------------------------------+
	Context int32 `idl:"name:lContext" json:"context"`
}

QueryVolumesSupportedForSnapshotsRequest structure represents the QueryVolumesSupportedForSnapshots operation request

func (*QueryVolumesSupportedForSnapshotsRequest) MarshalNDR

func (*QueryVolumesSupportedForSnapshotsRequest) UnmarshalNDR

type QueryVolumesSupportedForSnapshotsResponse

type QueryVolumesSupportedForSnapshotsResponse 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 IVssEnumMgmtObject pointer that upon completion, contains
	// a collection of volumes that support shadow copies. Each element in the collection
	// MUST be a VSS_VOLUME_PROP structure. A caller MUST release the received ppEnum when
	// the caller is done with it.
	Enum *scmp.EnumManagementObject `idl:"name:ppEnum" json:"enum"`
	// Return: The QueryVolumesSupportedForSnapshots return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryVolumesSupportedForSnapshotsResponse structure represents the QueryVolumesSupportedForSnapshots operation response

func (*QueryVolumesSupportedForSnapshotsResponse) MarshalNDR

func (*QueryVolumesSupportedForSnapshotsResponse) UnmarshalNDR

type SnapshotManagementClient

type SnapshotManagementClient interface {

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

	// The GetProviderMgmtInterface method retrieves the IVssDifferentialSoftwareSnapshotMgmt
	// interface.
	//
	// Return Values: The method MUST return the following error code for the specific conditions.
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                  RETURN                  |                                                                                  |
	//	|                VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80042304 VSS_E_PROVIDER_NOT_REGISTERED | Returned when the provider with ID ProviderId does not exist on the server.      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                  | Returned when ppItf is NULL or REFIID is not equal to                            |
	//	|                                          | __uuidof(IVssDifferentialSoftwareSnapshotMgmt).                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                | Returned when the user making the request does not have sufficient privileges to |
	//	|                                          | perform the operation.                                                           |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//
	// No exceptions are thrown except those that are thrown by the underlying RPC protocol
	// [MS-RPCE].
	GetProviderManagementInterface(context.Context, *GetProviderManagementInterfaceRequest, ...dcerpc.CallOption) (*GetProviderManagementInterfaceResponse, error)

	// The QueryVolumesSupportedForSnapshots method retrieves from the server a collection
	// of volumes that support shadow copies.
	//
	// Return Values: The method MUST return zero when it has succeeded or an implementation-specific
	// nonzero error code on failure.
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                  RETURN                  |                                                                                  |
	//	|                VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                  | Returned when ProviderId is GUID_NULL or when ppEnum is NULL.                    |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80042304 VSS_E_PROVIDER_NOT_REGISTERED | Returned when the provider with ID ProviderId does not exist on the server.      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                | Returned when the user making the request does not have sufficient privileges to |
	//	|                                          | perform the operation.                                                           |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//
	// No exceptions are thrown except those that are thrown by the underlying RPC protocol
	// [MS-RPCE].
	QueryVolumesSupportedForSnapshots(context.Context, *QueryVolumesSupportedForSnapshotsRequest, ...dcerpc.CallOption) (*QueryVolumesSupportedForSnapshotsResponse, error)

	// The QuerySnapshotsByVolume method retrieves a collection of shadow copy objects that
	// are present on a specified volume of the server.
	//
	// Return Values: The method MUST return zero when it has succeeded or an implementation-specific
	// nonzero error code on failure.
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                  RETURN                  |                                                                                  |
	//	|                VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                  | Returned when pwszVolumeName or ppEnum is NULL or when ProviderId is GUID_NULL.  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80042304 VSS_E_PROVIDER_NOT_REGISTERED | Returned when the provider with ID ProviderId does not exist on the server.      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                | Returned when the user making the request does not have sufficient privileges to |
	//	|                                          | perform the operation.                                                           |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//
	// No exceptions are thrown except those that are thrown by the underlying RPC protocol
	// [MS-RPCE].
	//
	// After the server receives this message, it MUST verify that ppEnum is not NULL.
	QuerySnapshotsByVolume(context.Context, *QuerySnapshotsByVolumeRequest, ...dcerpc.CallOption) (*QuerySnapshotsByVolumeResponse, 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) SnapshotManagementClient
}

IVssSnapshotMgmt interface.

func NewSnapshotManagementClient

func NewSnapshotManagementClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (SnapshotManagementClient, error)

type SnapshotManagementServer

type SnapshotManagementServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The GetProviderMgmtInterface method retrieves the IVssDifferentialSoftwareSnapshotMgmt
	// interface.
	//
	// Return Values: The method MUST return the following error code for the specific conditions.
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                  RETURN                  |                                                                                  |
	//	|                VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80042304 VSS_E_PROVIDER_NOT_REGISTERED | Returned when the provider with ID ProviderId does not exist on the server.      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                  | Returned when ppItf is NULL or REFIID is not equal to                            |
	//	|                                          | __uuidof(IVssDifferentialSoftwareSnapshotMgmt).                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                | Returned when the user making the request does not have sufficient privileges to |
	//	|                                          | perform the operation.                                                           |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//
	// No exceptions are thrown except those that are thrown by the underlying RPC protocol
	// [MS-RPCE].
	GetProviderManagementInterface(context.Context, *GetProviderManagementInterfaceRequest) (*GetProviderManagementInterfaceResponse, error)

	// The QueryVolumesSupportedForSnapshots method retrieves from the server a collection
	// of volumes that support shadow copies.
	//
	// Return Values: The method MUST return zero when it has succeeded or an implementation-specific
	// nonzero error code on failure.
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                  RETURN                  |                                                                                  |
	//	|                VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                  | Returned when ProviderId is GUID_NULL or when ppEnum is NULL.                    |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80042304 VSS_E_PROVIDER_NOT_REGISTERED | Returned when the provider with ID ProviderId does not exist on the server.      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                | Returned when the user making the request does not have sufficient privileges to |
	//	|                                          | perform the operation.                                                           |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//
	// No exceptions are thrown except those that are thrown by the underlying RPC protocol
	// [MS-RPCE].
	QueryVolumesSupportedForSnapshots(context.Context, *QueryVolumesSupportedForSnapshotsRequest) (*QueryVolumesSupportedForSnapshotsResponse, error)

	// The QuerySnapshotsByVolume method retrieves a collection of shadow copy objects that
	// are present on a specified volume of the server.
	//
	// Return Values: The method MUST return zero when it has succeeded or an implementation-specific
	// nonzero error code on failure.
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                  RETURN                  |                                                                                  |
	//	|                VALUE/CODE                |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                  | Returned when pwszVolumeName or ppEnum is NULL or when ProviderId is GUID_NULL.  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80042304 VSS_E_PROVIDER_NOT_REGISTERED | Returned when the provider with ID ProviderId does not exist on the server.      |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                | Returned when the user making the request does not have sufficient privileges to |
	//	|                                          | perform the operation.                                                           |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//
	// No exceptions are thrown except those that are thrown by the underlying RPC protocol
	// [MS-RPCE].
	//
	// After the server receives this message, it MUST verify that ppEnum is not NULL.
	QuerySnapshotsByVolume(context.Context, *QuerySnapshotsByVolumeRequest) (*QuerySnapshotsByVolumeResponse, error)
}

IVssSnapshotMgmt server interface.

type UnimplementedSnapshotManagementServer

type UnimplementedSnapshotManagementServer struct {
	iunknown.UnimplementedUnknownServer
}

Unimplemented IVssSnapshotMgmt

Jump to

Keyboard shortcuts

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