Share via


CVssWriter::Initialize メソッド (vswriter.h)

CVssWriter オブジェクトを初期化し、ライター アプリケーションが VSS と対話できるようにします。

Initialize は、 CVssWriter 基本クラスによって実装されるパブリック メソッドです。

構文

HRESULT Initialize(
  [in] VSS_ID                     WriterId,
  [in] LPCWSTR                    wszWriterName,
  [in] VSS_USAGE_TYPE             ut,
  [in] VSS_SOURCE_TYPE            st,
  [in] VSS_APPLICATION_LEVEL      nLevel,
  [in] DWORD                      dwTimeoutFreeze,
  [in] VSS_ALTERNATE_WRITER_STATE aws,
  [in] bool                       bIOThrottlingOnly,
  [in] LPCWSTR                    wszWriterInstanceName
);

パラメーター

[in] WriterId

ライター クラスのグローバル一意識別子 (GUID)。

[in] wszWriterName

ライターの名前を含む null で終わるワイド文字列。 この文字列はローカライズされていません。

[in] ut

ライターによって管理されるデータがホスト システムでどのように使用されるかを示す VSS_USAGE_TYPE列挙値

[in] st

ライターによって管理されるデータの種類を示す VSS_SOURCE_TYPE 列挙値。

[in] nLevel

ライターが Freeze イベント通知を受信するアプリケーション レベルを示すVSS_APPLICATION_LEVEL列挙値

このパラメーターの既定値はVSS_APP_FRONT_ENDです。

[in] dwTimeoutFreeze

ライターによる Freeze イベント通知の受信と VSS からの一致する Thaw イベント通知の受信までの最大許容時間 (ミリ秒単位)。 タイムアウトが切れると、ライターの CSVsWriter::OnAbort メソッドが自動的に呼び出されます。

このパラメーターの既定値は 60000 です。

[in] aws

ライターに関連する代替ライターがあるかどうかを示すVSS_ALTERNATE_WRITER_STATE列挙値。

このパラメーターの既定値はVSS_AWS_NO_ALTERNATE_WRITERです。 呼び出し元は、この既定値をオーバーライドしないでください。 このパラメーターは将来使用するために予約されています。

[in] bIOThrottlingOnly

I/O 調整方法が有効な場合は true 、それ以外の場合は false に 設定します。

このパラメーターの既定値は false です。 呼び出し元は、この既定値をオーバーライドしないでください。 このパラメーターは将来使用するために予約されています。

[in] wszWriterInstanceName

ライター インスタンス名を含む null で終わるワイド文字列。

このパラメーターの既定値は NULL です。 ライターに複数のインスタンスがあり、復元イベントが必要な場合、このパラメーターは必須であり、 NULL にすることはできません。 詳細については、次の「解説」セクションを参照してください。

Windows Server 2003 および Windows XP: SP1 を使用する Windows Server 2003 より前の場合、このパラメーターはシステム用に予約されており、呼び出し元は既定値をオーバーライドしないでください。

戻り値

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

説明
S_OK
ライター オブジェクトが正常に初期化されました。
S_FALSE
ライター オブジェクトを初期化できませんでした。VSS ライター インフラストラクチャは、Windows がセーフ モードであったか、または設定されていたため、非アクティブでした。
E_ACCESSDENIED
呼び出し元は管理者ではありません。
E_INVALIDARG
パラメーター値の 1 つが無効です。
E_OUTOFMEMORY
呼び出し元がメモリやその他のシステム リソースを使い切れている。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

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

解説

VSS は、ライター アプリケーションの各インスタンスに一意のライター インスタンス ID を割り当てます。 システム上に複数のインスタンスが同時に存在する場合 (たとえば、システム上で複数の SQL サーバーが実行されている場合)、各ライターは、ライター クラス ID とそのライター インスタンス ID の組み合わせによって一意に識別されます。

wszWriterInstanceName パラメーターを使用すると、マルチインスタンス ライターは、各ライター インスタンスの永続的な名前を人間が読み取り可能な文字列として指定できます。 この名前は、システム上のライターのすべてのインスタンスで一意である必要があります。 ライターに複数のインスタンスがあり、復元イベントが必要な場合は、このパラメーターに NULL 以外の文字列を指定する必要があります。 VSS はインスタンス名を使用して、マルチインスタンス ライターを正しく復元します。

要件

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

関連項目

CVssWriter

CVssWriter::OnAbort

VSS_ALTERNATE_WRITER_STATE

VSS_APPLICATION_LEVEL

VSS_ID

VSS_SOURCE_TYPE

VSS_USAGE_TYPE