IVssBackupComponents::GetWriterStatus メソッド (vsbackup.h)
GetWriterStatus メソッドは、指定したライターの状態を返します。
構文
HRESULT GetWriterStatus(
[in] UINT iWriter,
[out] VSS_ID *pidInstance,
[out] VSS_ID *pidWriter,
[out] BSTR *pbstrWriter,
[out] VSS_WRITER_STATE *pnStatus,
[out] HRESULT *phResultFailure
);
パラメーター
[in] iWriter
メタデータを取得するライターのインデックス。 このパラメーターの値は、0 から n から 1 までの整数です。 ここで、n は現在のシステム上のライターの合計数です。 n の値は、IVssBackupComponents::GetWriterStatusCount によって返されます。
[out] pidInstance
ライターのインスタンス識別子を受け取る呼び出し元によって割り当てられた変数のアドレス。
[out] pidWriter
ライター クラスの識別子を受け取る呼び出し元によって割り当てられた変数のアドレス。
[out] pbstrWriter
指定したライターの名前を含む文字列を受け取る呼び出し元によって割り当てられた変数のアドレス。
[out] pnStatus
VSS_WRITER_STATE列挙値を受け取る呼び出し元によって割り当てられた変数 の アドレス。
[out] phResultFailure
ライターによって返された HRESULT エラー コードを受け取る呼び出し元によって割り当てられた変数のアドレス。
pHrResultFailure でサポートされている値を次に示します。
値 | 意味 |
---|---|
|
ライターが成功しました。 |
|
シャドウ コピーには、アプリケーション コンポーネントを正しくバックアップするためにライターが必要とするボリュームのサブセットのみが含まれます。 |
|
ライターがメモリやその他のシステム リソースを使い果たしました。 このエラー コードを処理する推奨される方法は、10 分待ってから、操作を最大 3 回繰り返す方法です。 |
|
Freeze イベントと Thaw イベントの間にタイムアウトが発生したため、ライター操作が失敗しました。 このエラー コードを処理する推奨される方法は、10 分待ってから、操作を最大 3 回繰り返す方法です。 |
|
バックアップ、復元、またはシャドウ コピーの作成プロセス全体が再起動された場合に発生しない可能性が高いエラーが原因でライターが失敗しました。 このエラー コードを処理する推奨される方法は、10 分待ってから、操作を最大 3 回繰り返す方法です。 |
|
ライター操作は、別のシャドウ コピーが作成された場合に繰り返される可能性があるエラーが原因で失敗しました。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。 |
|
ライターが応答していません。 |
|
ライターの状態は、1 つ以上のライターでは使用できません。 ライターが、使用可能なバックアップおよび復元セッションの最大数に達している可能性があります。
Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。 |
戻り値
このメソッドの有効なリターン コードを次に示します。
値 | 意味 |
---|---|
|
指定したライターの状態が正常に返されました。 ライターが成功したことを確認するには、 pHrWriterFailure パラメーターの値を確認する必要があることに注意してください。 ライター エラー コードは、VsWriter.h および ライター エラーと Vetoes に記載されているものの中に含めることができます。 |
|
パラメーター値の 1 つが無効です。 |
|
呼び出し元がメモリ不足またはその他のシステム リソースです。 |
|
バックアップ コンポーネント オブジェクトが初期化されていないか、復元操作中にこのメソッドが呼び出されたか、このメソッドが正しいシーケンス内で呼び出されていません。 |
|
指定されたライターが存在しません。 |
|
予期しないエラー。 エラー コードはエラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 および Windows 7 まではサポートされません。 代わりに、E_UNEXPECTEDが使用されます。 |
注釈
要求元は、非同期操作 IVssBackupComponents::GatherWriterStatus を呼び出し、 GetWriterStatus を呼び出す前に完了するまで待機する必要があります。
呼び出し元は、このメソッドによって返される状態情報へのアクセスを完了すると、pbstrWriter パラメーターによって保持されているメモリを解放するために SysFreeString を呼び出す必要があります。
pHrResultFailure パラメーターで返されるVSS_E_WRITERERROR_XXX 値は、ライターによって生成されます。 VSS_E_WRITER_NOT_RESPONDINGとVSS_E_WRITER_STATUS_NOT_AVAILABLEは VSS によって生成されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vsbackup.h (VsBackup.h、Vss.h、VsWriter.h を含む) |
Library | VssApi.lib |