次の方法で共有


CVssWriterEx::OnIdentifyEx メソッド (vswriter.h)

IVssCreateWriterMetadataEx オブジェクトへのポインターを返します。

OnIdentifyEx は仮想メソッドです。 これは 、CVssWriterEx 基底クラスによって実装されますが、派生クラスによってオーバーライドできます。

構文

bool OnIdentifyEx(
  [in] IVssCreateWriterMetadataEx *pMetadata
);

パラメーター

[in] pMetadata

IVssCreateWriterMetadataEx オブジェクトへのポインター。

戻り値

基底クラスによって実装されているように、 OnIdentifyEx は 常に true を返します。

致命的なエラーが発生した場合を除き、このメソッドの他の実装は true を返す必要があります。 致命的なエラーが発生した場合、メソッドは false を返す必要があります。

致命的でないエラーを含め、エラーが発生した場合、メソッドはイベント ログに詳細なエントリを書き込み、エラーの正確な理由を報告する必要があります。

解説

OnIdentifyEx メソッドは OnIdentify メソッドと同じですが、pMetadata パラメーターの IVssCreateWriterMetadata インターフェイス ポインターの代わりに IVssCreateWriterMetadataEx インターフェイス ポインターを返す点が異なります。 ライターは OnIdentify または OnIdentifyEx をオーバーライドできますが、両方をオーバーライドすることはできません。

ライターは、このメソッドまたは他の CSVSWriter(Ex)::OnXxx コールバック メソッドから例外をスローしないでください。

ライターは、OnIdentify メソッドまたは OnIdentifyEx メソッドから CVssWriter::SetWriterFailure メソッドを呼び出さないでください。

このメソッドが CVssWriterEx2::GetSessionId メソッドを呼び出す場合は、このメソッドを呼び出したのと同じスレッドで呼び出す必要があります。 詳細については、「 ライター イベント処理」を参照してください。

別のアプリケーションによって生成された Identify イベントに応答して、ライターは OnIdentifyEx を呼び出して、IVssCreateWriterMetadataEx インターフェイスを使用して管理するコンポーネントに関する情報を含むライター メタデータ ドキュメントを作成します。

Identify イベントを生成したアプリケーションは、ライター メタデータ ドキュメントを取得し、IVssExamineWriterMetadata インターフェイスを使用してライターのコンポーネント情報を調べます。

バックアップまたは復元シーケンスを構成するイベントの前に Identify イベントが必要です。 そのため、OnIdentifyEx は通常、バックアップ操作または復元操作の一部として IVssBackupComponents::GatherWriterMetadata に対する要求者の呼び出しに応答して Identify イベントを処理するために呼び出されます。

ただし、 Identify イベント自体は、バックアップまたは復元シーケンスを構成するイベントのシーケンスの一部ではありません。また、バックアップまたは復元シーケンスが進行中であっても、VSS サービスによって イベント が生成されるのを防ぐことはありません。 たとえば、VSS 管理アプリケーションでは 、Identify イベントを使用して、システム上のライターの状態を決定して表示します。

このため、ライターは次のいずれかの方法で OnIdentifyEx の実装を使用しないでください。

  • バックアップまたは復元シーケンスの処理の始まりとして
  • ライターの状態に関する情報を設定または維持するには
イベントとのライター操作の詳細については、「 ライター イベント処理」を参照してください。

PrepareForBackupPrepareForSnapshot、および PostSnapshot イベント中に、ライターは GetIdentifyInformation メソッドを使用して、ライターの OnIdentifyEx メソッドが以前に報告したメタデータを取得できます。

pMetadata パラメーターが指す IVssCreateWriterMetadataEx オブジェクトのライフ サイクルは、VSS インフラストラクチャによって管理されます。

要件

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

関連項目

CSVsWriterEx

CVssWriterEx::GetIdentifyInformation

IVssCreateWriterMetadataEx