IVssComponent::AddDifferencedFilesByLastModifyTime メソッド (vswriter.h)

AddDifferencedFilesByLastModifyTime メソッドは、ファイル セット (指定したファイル) を最終変更タイム スタンプに対して評価し、部分的なファイルではなく、ファイル全体を使用してタイムスタンプ付きの増分バックアップまたは差分バックアップに含めることを示すためにライターによって使用されます。

このメソッドは、バックアップ操作中にのみライターによって呼び出すことができます。

構文

HRESULT AddDifferencedFilesByLastModifyTime(
  [in] LPCWSTR  wszPath,
  [in] LPCWSTR  wszFilespec,
  [in] BOOL     bRecursive,
  [in] FILETIME ftLastModifyTime
);

パラメーター

[in] wszPath

マップするファイルを含むディレクトリまたはディレクトリ階層の名前を含む Null で終わるワイド文字列。

パスには環境変数 (%SystemRoot%) を含めることができますが、ワイルドカード文字を含めることはできません。

パスが円記号 ("") で終わるという要件はありません。 この情報を取得するのはアプリケーションによってチェック。

[in] wszFilespec

マップするファイルのファイル指定を含む Null で終わるワイド文字列。

ファイル指定にディレクトリ指定を含めることはできません (たとえば、バックスラッシュは含めません)、 を含めることができます。 および * ワイルドカード文字。

[in] bRecursive

wszPath パラメーターで指定されたパスが 1 つのディレクトリのみを識別するか、再帰的に走査するディレクトリの階層を示すかを指定するブール値。 パスが再帰的に走査されるディレクトリの階層として扱われる場合は true 、そうでない場合は false に設定する必要があります。

マウントされたフォルダーの走査の詳細については、「マウント されたフォルダーの操作」と「ポイントの再解析」を参照してください。

[in] ftLastModifyTime

FILETIME 構造体として表される、差分ファイルの最終変更時刻のライター仕様。

最後の変更時刻は、常にグリニッジ標準時で指定されます。

戻り値

このメソッドの有効なリターン コードを次に示します。

説明
S_OK
違うファイルが正常に追加されました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリやその他のシステム リソースを使い切れている。
VSS_E_BAD_STATE
このメソッドはライターによって呼び出されなかったか、ライターによって呼び出された場合は、バックアップ操作中に呼び出されなかったか、 BackupComplete または BackupShutdown イベントの処理中に呼び出されました。
VSS_E_INVALID_XML_DOCUMENT
XML ドキュメントが無効です。 詳細については、イベント ログを確認してください。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに E_UNEXPECTED が使用されます。

解説

ライターは、このメソッドを呼び出して、コンポーネント内の特定のファイルが特定の時点以降に変更された場合にのみバックアップするように指定します。 詳細については、「最後の 変更時刻によるバックアップ」を参照してください。

このメソッドは、最後に変更されたスキーマ (VSS_BS_LAST_MODIFY) をサポートするライターのみが呼び出し、バックアップ操作中にのみ呼び出すことができます。 このメソッドを使用するライターは、タイムスタンプ スキーマ (VSS_BS_TIMESTAMPED) をサポートする必要はありません。

AddDifferencedFilesByLastModifyTime によって追加されたファイルは、IVssComponent::AddPartialFile でも追加しないでください。

バックアップの種類 (VSS_BACKUP_TYPE) が増分 (VSS_BT_INCREMENTAL) の場合、 AddDifferencedFilesByLastModifyTime を使用するライターは増分スキーマ (VSS_BS_INCREMENTAL) をサポートする必要があります。 バックアップの種類が差分の場合、ライターは VSS_BS_DIFFERENTIAL スキーマをサポートする必要があります。

AddDifferencedFilesByLastModifyTime メソッドは、バックアップ操作を実際に開始する前に呼び出す必要があります。通常は PostSnapshot イベントの処理中です (「CVssWriter::OnPostSnapshot」を参照してください)。

AddDifferencedFilesByLastModifyTime によって設定されたタイム スタンプ値が 0 以外の場合、差分バックアップまたは増分バックアップに差分ファイルを含める必要があるかどうかを判断する際に、要求者は、独自のレコードとファイル システム情報に関係なく、この値を考慮する必要があります。

AddDifferencedFilesByLastModifyTime (ftLastModifyTime) によって設定されたタイム スタンプが 0 の場合、リクエスターはファイル システム情報と独自のレコードを使用して、差分バックアップと増分バックアップのどちらを含める必要があるかを判断できます。

要求者は、 IVssComponent::GetDifferencedFile を呼び出して、コンポーネントによって管理される相違ファイルの数を取得します。

相違するファイル セットには、次のいずれかを指定できます。

  • 現在のコンポーネントのメンバー、または (コンポーネントがコンポーネント セットを定義している場合) そのサブコンポーネント
  • コンポーネントまたはサブコンポーネントに以前に含まれていない新しいファイル。 AddDifferencedFilesByLastModifyTime メソッドを使用すると、ライターは、増分バックアップまたは差分バックアップをサポートするために、元のバックアップ以降に作成されたファイルをコンポーネントに含める必要があることを示すことができます。
コンポーネントに既に含まれているファイルを参照する場合は、 マップされる AddDifferencedFilesByLastModifyTime に提供されるパス、ファイル指定、再帰フラグ (wszPathwszFileSpecおよび bRecursive) の組み合わせは、IVssCreateWriterMetadata::AddFilesToFileGroupIVssCreateWriterMetadata::AddDatabaseFiles、またはコンポーネントに追加されたファイル セットのいずれかと一致する必要がありますIVssCreateWriterMetadata::AddDatabaseLogFiles

コンポーネント AddDifferencedFilesByLastModifyTime に新しいファイルを追加する場合、ライターは別のコンポーネントまたはライターによって管理されるファイルを追加しないでください。

IVssComponent インターフェイスには、AddDifferencedFilesByLastModifyTime によって追加された新しいファイルの代替の場所マッピングを変更または追加できるメソッドはありません。 代替の場所マッピングが新しいファイルに対応する場合は、その代替の場所が使用されます。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー vswriter.h (Vss.h、VsWriter.h を含む)
Library VssApi.lib

関連項目

CVssWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

増分バックアップと差分バックアップ

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE