Win32 API 日本語リファレンス
ホームStorage.Vss › IVssFileShareSnapshotProvider

IVssFileShareSnapshotProvider

COM
IIDc8636060-7c2e-11df-8c4a-0800200c9a66継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT SetContext(INT lContext)
lContextINTin以降の操作に適用するスナップショットコンテキストを指定する。
vtbl 4 HRESULT GetSnapshotProperties(GUID SnapshotId, VSS_SNAPSHOT_PROP* pProp)
SnapshotIdGUIDinプロパティを取得する対象スナップショットの識別子(GUID)を指定する。
pPropVSS_SNAPSHOT_PROP*outスナップショットのプロパティを格納する VSS_SNAPSHOT_PROP 構造体を受け取るポインタである。
vtbl 5 HRESULT Query(GUID QueriedObjectId, VSS_OBJECT_TYPE eQueriedObjectType, VSS_OBJECT_TYPE eReturnedObjectsType, IVssEnumObject** ppEnum)
QueriedObjectIdGUIDin照会の対象とするオブジェクトの識別子(GUID)を指定する。
eQueriedObjectTypeVSS_OBJECT_TYPEin照会対象オブジェクトの種別を示す VSS_OBJECT_TYPE 列挙値を指定する。
eReturnedObjectsTypeVSS_OBJECT_TYPEin返してほしいオブジェクトの種別を示す VSS_OBJECT_TYPE 列挙値を指定する。
ppEnumIVssEnumObject**out照会結果のオブジェクトを列挙する IVssEnumObject インターフェイスポインタを受け取るポインタへのポインタである。
vtbl 6 HRESULT DeleteSnapshots(GUID SourceObjectId, VSS_OBJECT_TYPE eSourceObjectType, BOOL bForceDelete, INT* plDeletedSnapshots, GUID* pNondeletedSnapshotID)
SourceObjectIdGUIDin削除対象を特定するためのソースオブジェクトの識別子(GUID)を指定する。
eSourceObjectTypeVSS_OBJECT_TYPEinソースオブジェクトの種別を示す VSS_OBJECT_TYPE 列挙値を指定する。
bForceDeleteBOOLin一部の削除が失敗しても処理を継続して強制削除するかどうかを指定する。
plDeletedSnapshotsINT*out実際に削除されたスナップショットの数を受け取るポインタである。
pNondeletedSnapshotIDGUID*out削除に失敗した最初のスナップショットの識別子(GUID)を受け取るポインタである。
vtbl 7 HRESULT BeginPrepareSnapshot(GUID SnapshotSetId, GUID SnapshotId, WORD* pwszSharePath, INT lNewContext, GUID ProviderId)
SnapshotSetIdGUIDinこのスナップショットが属するスナップショットセットの識別子(GUID)を指定する。
SnapshotIdGUIDin新しく準備するスナップショットの識別子(GUID)を指定する。
pwszSharePathWORD*inスナップショットを作成する対象ファイル共有のパスを指定する文字列である。
lNewContextINTinこのスナップショットに適用するコンテキスト値を指定する。
ProviderIdGUIDinスナップショットを作成するプロバイダーの識別子(GUID)を指定する。
vtbl 8 HRESULT IsPathSupported(WORD* pwszSharePath, BOOL* pbSupportedByThisProvider)
pwszSharePathWORD*inサポート可否を確認する対象ファイル共有のパスを指定する文字列である。
pbSupportedByThisProviderBOOL*outこのプロバイダーが対象パスのスナップショットをサポートするかどうかを示すブール値を受け取るポインタである。
vtbl 9 HRESULT IsPathSnapshotted(WORD* pwszSharePath, BOOL* pbSnapshotsPresent, INT* plSnapshotCompatibility)
pwszSharePathWORD*inスナップショット有無を確認する対象ファイル共有のパスを指定する文字列である。
pbSnapshotsPresentBOOL*out対象パスにスナップショットが存在するかどうかを示すブール値を受け取るポインタである。
plSnapshotCompatibilityINT*out対象パスに対して制限される操作を示す互換性フラグを受け取るポインタである。
vtbl 10 HRESULT SetSnapshotProperty(GUID SnapshotId, VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId, VARIANT vProperty)
SnapshotIdGUIDinプロパティを設定する対象スナップショットの識別子(GUID)を指定する。
eSnapshotPropertyIdVSS_SNAPSHOT_PROPERTY_IDin設定するプロパティを示す VSS_SNAPSHOT_PROPERTY_ID 列挙値を指定する。
vPropertyVARIANTin設定するプロパティの値を格納したバリアントを指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IVssFileShareSnapshotProvider "{C8636060-7C2E-11DF-8C4A-0800200C9A66}"
#usecom global IVssFileShareSnapshotProvider IID_IVssFileShareSnapshotProvider "{}"
#comfunc global IVssFileShareSnapshotProvider_SetContext             3 int
#comfunc global IVssFileShareSnapshotProvider_GetSnapshotProperties  4 int,var
#comfunc global IVssFileShareSnapshotProvider_Query                  5 int,int,int,sptr
#comfunc global IVssFileShareSnapshotProvider_DeleteSnapshots        6 int,int,int,var,var
#comfunc global IVssFileShareSnapshotProvider_BeginPrepareSnapshot   7 int,int,var,int,int
#comfunc global IVssFileShareSnapshotProvider_IsPathSupported        8 var,var
#comfunc global IVssFileShareSnapshotProvider_IsPathSnapshotted      9 var,var,var
#comfunc global IVssFileShareSnapshotProvider_SetSnapshotProperty    10 int,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。