4 * File Server Remote VSS Protocol Definitions
9 [ uuid("a8e0653c-2744-4389-a61d-7373df8b2292"),
11 endpoint("ncacn_np:[\\pipe\\FssagentRpc]"),
12 helpstring("File Server Remote VSS Protocol"),
13 pointer_default(unique)
14 ] interface FileServerVssAgent
16 const uint32 FSRVP_E_BAD_STATE
= 0x80042301;
17 const uint32 FSRVP_E_SHADOW_COPY_SET_IN_PROGRESS
= 0x80042316;
18 const uint32 FSRVP_E_NOT_SUPPORTED
= 0x8004230C;
19 const uint32 FSRVP_E_WAIT_TIMEOUT
= 0x00000102;
20 const uint32 FSRVP_E_WAIT_FAILED
= 0xFFFFFFFF;
21 const uint32 FSRVP_E_OBJECT_ALREADY_EXISTS
= 0x8004230D;
22 const uint32 FSRVP_E_OBJECT_NOT_FOUND
= 0x80042308;
23 const uint32 FSRVP_E_UNSUPPORTED_CONTEXT
= 0x8004231B;
24 const uint32 FSRVP_E_BAD_ID
= 0x80042302; /* wire, not documented */
28 [string,charset
(UTF16
)] uint16
*ShareNameUNC
;
29 [string,charset
(UTF16
)] uint16
*ShadowCopyShareName
;
31 } fssagent_share_mapping_1
;
34 [case(1)] fssagent_share_mapping_1
*ShareMapping1
;
36 } fssagent_share_mapping
;
38 const uint32 FSRVP_RPC_VERSION_1
= 0x000000001;
39 DWORD fss_GetSupportedVersion
(
40 [in] uint8 magic
[52], /* wire */
41 [out] uint32
*MinVersion
,
42 [out] uint32
*MaxVersion
);
44 const uint32 ATTR_PERSISTENT
= 0x00000001;
45 const uint32 ATTR_NO_AUTO_RECOVERY
= 0x00000002;
46 const uint32 ATTR_NO_AUTO_RELEASE
= 0x00000008;
47 const uint32 ATTR_NO_WRITERS
= 0x00000010;
48 const uint32 ATTR_FILE_SHARE
= 0x04000000;
49 const uint32 ATTR_AUTO_RECOVERY
= 0x00400000;
51 const uint32 FSRVP_CTX_BACKUP
= 0x00000000;
52 const uint32 FSRVP_CTX_FILE_SHARE_BACKUP
= 0x00000010;
53 const uint32 FSRVP_CTX_NAS_ROLLBACK
= 0x00000019;
54 const uint32 FSRVP_CTX_APP_ROLLBACK
= 0x00000009;
58 DWORD fss_StartShadowCopySet
(
59 [in] GUID ClientShadowCopySetId
,
60 [out] GUID
*pShadowCopySetId
);
62 DWORD fss_AddToShadowCopySet
(
63 [in] GUID ClientShadowCopyId
,
64 [in] GUID ShadowCopySetId
,
65 [in] [string,charset
(UTF16
)] uint16
*ShareName
,
66 [out] GUID
*pShadowCopyId
);
68 DWORD fss_CommitShadowCopySet
(
69 [in] GUID ShadowCopySetId
,
70 [in] uint32 TimeOutInMilliseconds
);
72 DWORD fss_ExposeShadowCopySet
(
73 [in] GUID ShadowCopySetId
,
74 [in] uint32 TimeOutInMilliseconds
);
76 DWORD fss_RecoveryCompleteShadowCopySet
(
77 [in] GUID ShadowCopySetId
);
79 DWORD fss_AbortShadowCopySet
(
80 [in] GUID ShadowCopySetId
);
82 DWORD fss_IsPathSupported
(
83 [in] [string,charset
(UTF16
)] uint16
*ShareName
,
84 [in] uint8 magic
[52], /* wire */
85 [out] boolean32
*SupportedByThisProvider
,
86 [out] [string,charset
(UTF16
)] uint16
**OwnerMachineName
);
88 DWORD fss_IsPathShadowCopied
(
89 [in] [string,charset
(UTF16
)] uint16
*ShareName
,
90 [out] boolean32
*ShadowCopyPresent
,
91 [out] int32
*ShadowCopyCompatibility
);
93 DWORD fss_GetShareMapping
(
94 [in] GUID ShadowCopyId
,
95 [in] GUID ShadowCopySetId
,
96 [in] [string,charset
(UTF16
)] uint16
*ShareName
,
98 [out,switch_is(Level
)] fssagent_share_mapping
*ShareMapping
);
100 DWORD fss_DeleteShareMapping
(
101 [in] GUID ShadowCopySetId
,
102 [in] GUID ShadowCopyId
,
103 [in] [string,charset
(UTF16
)] uint16
*ShareName
);
105 DWORD fss_PrepareShadowCopySet
(
106 [in] GUID ShadowCopySetId
,
107 [in] uint32 TimeOutInMilliseconds
);