シャドウ コピーが完了したら、シャドウ コピーに含まれるファイル データにアクセスするための最も重要なメカニズムは、シャドウ コピーの デバイス オブジェクト使用することです。
VSS_SNAPSHOT_PROP 構造体の m_pwszSnapshotDeviceObject メンバーは、シャドウ コピーされたボリュームのデバイス オブジェクトを含む文字列です。 要求元は、ボリュームの VSS_ID (GUID を識別する) を認識し、それを IVssBackupComponents::GetSnapshotPropertiesに渡す場合、シャドウ コピーされたボリュームの VSS_SNAPSHOT_PROP オブジェクトを取得できます。
リクエスターは、IVssEnumObject を使用して取得した VSS_OBJECT_PROP 構造体 (VSS_SNAPSHOT_PROP 構造体) の Obj.Snap メンバーを使用してシャドウ コピー プロパティ情報を取得し、IVssBackupComponents の呼び出しによって返されるオブジェクトの一覧を反復処理することもできます。クエリ。
デバイス オブジェクトは、シャドウ コピーされたボリュームのルートとして解釈する必要があります。 このため、デバイス オブジェクトには円記号 ("\") が含まれています。
シャドウ コピーされたボリューム上のパスは、元のパスのルートをデバイス オブジェクトに置き換えることによって取得されます。 たとえば、元のボリュームの "C:\DATABASE\*.mdb" のパスと snapProp の VSS_SNAPSHOT_PROP インスタンスを指定すると、copyDeviceObject、"\"、"\DATABASE\*.mdb" snapPropm_pwszShadow連結して、シャドウ コピーされたボリューム上のパスを取得します。
VSS ファイル セットはファイル記述子にワイルドカード文字を含む可能性があるため、コンポーネントによって管理されるシャドウ コピーでファイルの完全な一覧を取得するには、FindFileFirst、FindFileFirstEx、FindNextFile などのメソッドを使用する必要があります。