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