次の方法で共有


シャドウ コピーされたデータへの要求者アクセス

シャドウ コピーが完了したら、シャドウ コピーに含まれるファイル データにアクセスするための最も重要なメカニズムは、シャドウ コピーの デバイス オブジェクトを使用することです。

VSS_SNAPSHOT_PROP構造体のm_pwszSnapshotDeviceObject メンバーは、シャドウ コピーされたボリュームのデバイス オブジェクトを含む文字列です。 要求者は、ボリュームのVSS_ID (GUID を識別する) を認識し、それを IVssBackupComponents::GetSnapshotProperties に渡すと、シャドウ コピーされたボリュームの VSS_SNAPSHOT_PROP オブジェクトを取得できます。

要求者は、IVssEnumObject を使用して IVssBackupComponents::Query の呼び出しによって返されるオブジェクトの一覧を反復処理することによって取得した、VSS_OBJECT_PROP構造体 (VSS_SNAPSHOT_PROP構造体) の Obj.Snap メンバーを使用してシャドウ コピー プロパティ情報を取得することもできます。

デバイス オブジェクトは、シャドウ コピーされたボリュームのルートとして解釈する必要があります。 このため、デバイス オブジェクトには円記号 ("\") が含まれています。

シャドウ コピーされたボリューム上のパスは、元のパスのルートをデバイス オブジェクトに置き換えることによって取得されます。 たとえば、元のボリュームの "C:\DATABASE\*.mdb" のパスと snapProp の VSS_SNAPSHOT_PROP インスタンスを指定すると、copyDeviceObject、"\"、"\DATABASE\*.mdb" snapPropm_pwszShadow連結して、シャドウ コピーされたボリュームのパスを取得します。

VSS ファイル セットのファイル記述子にはワイルドカード文字が含まれている可能性があるため、コンポーネントによって管理されるシャドウ コピーでファイルの完全な一覧を取得するには、 FindFileFirstFindFileFirstExFindNextFile などのメソッドを使用する必要があります。