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

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

要件

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

こちらもご覧ください

CSVsWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

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

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE