次の方法で共有


IVssBackupComponents::D isableWriterClasses メソッド (vsbackup.h)

DisableWriterClasses メソッドを使用すると、ライターの特定のクラスがイベントを受信できなくなります。

構文

HRESULT DisableWriterClasses(
  [in] const VSS_ID *rgWriterClassId,
  [in] UINT         cClassId
);

パラメーター

[in] rgWriterClassId

1 つ以上のライター クラス識別子を含む配列。

[in] cClassId

rgWriterClassId 配列内のエントリの数。

戻り値

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

説明
S_OK
ライター クラスが正常に無効になりました。
E_ACCESSDENIED
呼び出し元に十分なバックアップ特権がないか、管理者ではありません。
E_OUTOFMEMORY
呼び出し元がメモリ不足またはその他のシステム リソースです。
VSS_E_BAD_STATE
バックアップ コンポーネント オブジェクトが初期化されていないか、復元操作中にこのメソッドが呼び出されたか、このメソッドが正しいシーケンス内で呼び出されていません。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードはエラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

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

解説

同じライターの複数の実行中のコピーがある場合、それらはすべて同じライター クラス識別子を持っていますが、ライター インスタンス識別子は異なります。 ライター クラスを無効にすると、ライターのすべてのインスタンスが無効になります。

DisableWriterClasses メソッドと IVssBackupComponents::EnableWriterClasses メソッドが呼び出されない場合、すべてのライター クラスが有効になります。

DisableWriterClasses の最初の呼び出しが返されると、rgWriterClassId 配列で指定されたライター クラスが無効になり、他のすべてのライター クラスが有効になります。

DisableWriterClasses を複数回呼び出すと、各呼び出しによって rgWriterClassId 配列内のライターが無効になっているライターの一覧に追加されます。

DisableWriterClasses を 1 回以上呼び出してから EnableWriterClasses を呼び出した場合、EnableWriterClasses の最初の呼び出しは DisableWriterClasses の呼び出しの効果を取り消し、rgWriterClassId 配列内のライターのみを有効にします。

DisableWriterClasses を呼び出す場合は、IVssBackupComponents::GatherWriterMetadata メソッドを呼び出す前に実行する必要があります。 GatherWriterMetadata を最初に呼び出してから DisableWriterClasses を呼び出した場合、DisableWriterClasses の呼び出しは無効になります。 GatherWriterMetadata を最初に呼び出す必要がある場合は、無効にするライター クラスを決定するために、IVssBackupComponents インターフェイスの別のインスタンスから呼び出す必要があります。

要件

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

関連項目

IVssBackupComponents

IVssBackupComponents::D isableWriterInstances

IVssBackupComponents::EnableWriterClasses