IVssBackupComponents::GetWriterComponents メソッド (vsbackup.h)
GetWriterComponents メソッドは、要求者のバックアップ コンポーネント ドキュメントに格納されている特定のライターのコンポーネントに関する情報を返すために使用されます。
構文
HRESULT GetWriterComponents(
[in] UINT iWriter,
[out] IVssWriterComponentsExt **ppWriter
);
パラメーター
[in] iWriter
クエリ対象のライターのインデックス。 これは 0 から n-1 までの数値です。 ここで、n は IVssBackupComponents::GetWriterComponentsCount によって返される値です。
[out] ppWriter
返されるコンポーネント情報を受け取る IVssWriterComponentsExt インターフェイス オブジェクトへの二重間接ポインター。
戻り値
このメソッドの有効なリターン コードを次に示します。
値 | 意味 |
---|---|
|
IVssWriterComponentsExt インターフェイス オブジェクトへのポインターが正常に返されました。 |
|
パラメーター値の 1 つが無効です。 |
|
呼び出し元がメモリ不足またはその他のシステム リソースです。 |
|
バックアップ コンポーネント オブジェクトが初期化されていないか、復元操作中にこのメソッドが呼び出されたか、このメソッドが正しいシーケンス内で呼び出されていません。 |
|
指定されたシャドウ コピーが存在しません。 |
|
予期しないエラー。 エラー コードはエラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 および Windows 7 まではサポートされません。 代わりに、E_UNEXPECTEDが使用されます。 |
注釈
このメソッドの呼び出し元は、コンポーネント情報へのアクセスが完了したときに IUnknown::Release を呼び出す必要があります。
GetWriterComponents は、 以前の IVssBackupComponents::AddComponent の呼び出しによって、バックアップ コンポーネント ドキュメントに格納されているコンポーネントのコンポーネント情報を取得します。
バックアップ コンポーネント ドキュメントに格納されているコンポーネントの情報は静的ではありません。 復元中にライターがコンポーネントを更新した場合、その変更は GetWriterComponents によって取得されたコンポーネントに反映されます。 これは、IVssExamineWriterMetadata::GetComponent によって返される IVssWMComponent オブジェクト内のコンポーネント情報とは対照的です。 この情報は読み取り専用であり、ライター プロセスのライター メタデータ ドキュメントから取得されます。
pWriterComponents パラメーターで返される IVssWriterComponentsExt インターフェイス ポインターは、次の IVssBackupComponents メソッドによって GetWriterComponents によって返されるインターフェイス ポインターが無効になるため、キャッシュしないでください。
IVssBackupComponents::P repareForBackupIVssBackupComponents::D oSnapshotSetIVssBackupComponents::BackupCompleteIVssBackupComponents::P reRestoreIVssBackupComponents::P ostRestoreGetWriterComponents を呼び出して IVssWriterComponentsExt インターフェイス ポインターを取得した後にこれらのメソッドのいずれかを呼び出した場合、そのポインターを再利用することはできません。 有効ではなくなったためです。 代わりに、 GetWriterComponents を再度呼び出して、新しい IVssWriterComponentsExt インターフェイス ポインターを取得する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |
こちらもご覧ください
IVssBackupComponents::AddComponent
IVssBackupComponents::GatherWriterMetadata
IVssBackupComponents::GetWriterComponentsCount
IVssBackupComponents::GetWriterMetadata
IVssBackupComponents::P reRestore