シャドウ コピーされたボリュームの公開と表示
リクエスターは、コピーのデバイス オブジェクトを使用して IVssBackupComponents インターフェイスを介してアクセスするだけでなく、マウントされた読み取り専用デバイスとして他のプロセスでシャドウ コピーを使用できるようにします。
このプロセスは シャドウ コピーの公開と呼ばれ、 IVssBackupComponents::ExposeSnapshot メソッドを使用して実行されます。
シャドウ コピーは、ローカル ボリューム (ドライブ文字の割り当て、マウントされたフォルダーへの関連付け) またはファイル共有として公開できます。
図を示すために、F:\ にマウントされたシステム exposedSys 上のボリュームで作成されたシャドウ コピーについて考えてみましょう。ディレクトリ dirOne と dirTwo、ファイル FileOne をルートとする 上。
シャドウ コピーをローカルで公開する
ローカル ボリュームとしてマウントすると、シャドウ コピーのルートは常にマウント ポイント (ドライブ文字またはマウントされたフォルダー) に表示され、シャドウ コピーされたすべてのファイルが表示されます。
マウントされたフォルダー C:\ShadowOfF を介してシャドウ コピーがローカルに公開されている場合は、F:\ にマウントされているディスク上にあるすべてのファイルが見つかります。は、C:\ShadowOfF で使用可能なシャドウ コピーの時点で使用できます。 C:\ShadowOfF を調べると、dirOne と dirTwo の 2 つのディレクトリと、1 つのファイル fileOne が C:\ShadowOfF の下に表示されます。
シャドウ コピーをローカルで公開する呼び出しは次のようになります。
IVssBackupComponents *pReq;
VSS_ID snapID;
PWSTR wszExposed;
// .
// .
hr = pReg->ExposeSnapshot(
snapID, // VSS_ID SnapshotId,
NULL, // VSS_PWSZ wszPathFromRoot
VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY, // LONG lAttributes
L"C:\ShadowOfF", // VSS_PWSZ wszExpose
LPWSTR &wszExposed, // VSS_PWSZ* pwszExposed
);
シャドウ コピーがローカルで正常に公開された場合、 wszExposed にはワイド文字列 "C:\ShadowOfF" が含まれている必要があります。
シャドウ コピーは、後で IVssBackupComponentsEx2::UnexposeSnapshot を呼び出すことで、露出を解除できます。
永続的なシャドウ コピー (つまり、VSS_CTX_NAS_ROLLBACKまたはVSS_CTX_APP_ROLLBACKを使用して作成されたシャドウ コピー) のみをローカルに公開できます。
リモート共有としてのシャドウ コピーの公開
または、F:\ にマウントされたディスクのシャドウ コピーを作成することもできます。はリモート ファイル共有として使用でき、dirTwo の下のデータのみをファイル共有 dirTwoOfF として公開します。
この場合、システムは、\\exposedSys\dirTwoOfF をネットワーク ドライブとしてマッピングすることで、F:\dirTwo の下にあるファイルのシャドウ コピーにアクセスできます。
シャドウ コピーを共有として公開するリモートを実装する呼び出しは、次のようになります。
IVssBackupComponents *pReq;
VSS_ID snapID;
LPWSTR wszExposed;
// .
// .
hr = pReg->ExposeSnapshot(
snapID, // VSS_ID SnapshotId,
L"\dirTwo", // VSS_PWSZ wszPathFromRoot
VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY, // LONG lAttributes
L"dirTwoOfF", // VSS_PWSZ wszExpose
LPWSTR &wszExposed, // VSS_PWSZ* pwszExposed
);
シャドウ コピーがリモートで正常に公開された場合、 wszExposed にはワイド文字列 "dirTwoOfF" が含まれている必要があります。
dirTwoOfF のネットワーク共有を現在マッピングしているシステムは、通常の共有から切断される場合と同様に、そこから切断される可能性があります。
シャドウ コピーの表示
表面化されたシャドウ コピーは、シャドウ コピーがシステムの Mount Manager 名前空間に認識されるシャドウ コピーです。
つまり、 FindFirstVolume や FindNextVolume などを使用して、使用可能でまだマウントされていない他のボリュームを見つけるのと同じように、このようなシャドウ コピーを見つけることができます。
明らかに、公開されているシャドウ コピーもシャドウ コピーに表示されます。 ただし、逆は必ずしも正しいとは限りません。
ローカルに公開されているシャドウ コピーがマウント解除された場合、またはシステムがリモートで公開されているシャドウ コピーの切断を選択した場合、そのシャドウ コピーは公開されなくなります。 ただし、シャドウ コピーが永続化されている限り、ボリュームは表示されます。 つまり、他の読み取り専用ボリュームと同様にマウントできます。