ホーム › Storage.Vss › IVssCreateExpressWriterMetadata
IVssCreateExpressWriterMetadata
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| wszPath | LPWSTR | in | バックアップから除外するファイルが存在するパスを指定する。 |
| wszFilespec | LPWSTR | in | 除外するファイル名のパターンを指定する。 |
| bRecursive | BYTE | in | 指定パス配下を再帰的に除外するかどうかを指定する。 |
vtbl 4 HRESULT AddComponent(VSS_COMPONENT_TYPE ct, LPWSTR wszLogicalPath, LPWSTR wszComponentName, LPWSTR wszCaption, BYTE* pbIcon, DWORD cbIcon, BYTE bRestoreMetadata, BYTE bNotifyOnBackupComplete, BYTE bSelectable, BYTE bSelectableForRestore, DWORD dwComponentFlags)
| ct | VSS_COMPONENT_TYPE | in | 追加するコンポーネントの種別(データベースまたはファイルグループ)を示す列挙値を指定する。 |
| wszLogicalPath | LPWSTR | in | コンポーネントの論理パスを指定する。最上位の場合は NULL を指定できる。 |
| wszComponentName | LPWSTR | in | コンポーネントの名前を指定する。 |
| wszCaption | LPWSTR | in | コンポーネントの説明用キャプション文字列を指定する。 |
| pbIcon | BYTE* | in | コンポーネントを表すアイコンのバイナリデータへのポインタである。アイコンがない場合は NULL を指定する。 |
| cbIcon | DWORD | in | アイコンデータのバイト数を指定する。 |
| bRestoreMetadata | BYTE | in | 復元時にメタデータの保存が必要かどうかを指定する。 |
| bNotifyOnBackupComplete | BYTE | in | バックアップ完了時に通知を受けるかどうかを指定する。 |
| bSelectable | BYTE | in | バックアップ時にコンポーネント単位で選択可能かどうかを指定する。 |
| bSelectableForRestore | BYTE | in | 復元時にコンポーネント単位で選択可能かどうかを指定する。 |
| dwComponentFlags | DWORD | in | コンポーネントの機能を示すフラグ(VSS_COMPONENT_FLAGS)の組み合わせを指定する。 |
vtbl 5 HRESULT AddFilesToFileGroup(LPWSTR wszLogicalPath, LPWSTR wszGroupName, LPWSTR wszPath, LPWSTR wszFilespec, BYTE bRecursive, LPWSTR wszAlternateLocation, DWORD dwBackupTypeMask)
| wszLogicalPath | LPWSTR | in | 対象ファイルグループコンポーネントの論理パスを指定する。 |
| wszGroupName | LPWSTR | in | ファイルを追加するファイルグループの名前を指定する。 |
| wszPath | LPWSTR | in | 追加するファイルが存在するパスを指定する。 |
| wszFilespec | LPWSTR | in | 追加するファイル名のパターンを指定する。 |
| bRecursive | BYTE | in | 指定パス配下を再帰的に含めるかどうかを指定する。 |
| wszAlternateLocation | LPWSTR | in | ファイルの代替格納場所のパスを指定する。代替場所がない場合は NULL を指定する。 |
| dwBackupTypeMask | DWORD | in | これらのファイルに適用されるバックアップ種別を示すマスクを指定する。 |
vtbl 6 HRESULT SetRestoreMethod(VSS_RESTOREMETHOD_ENUM method, LPWSTR wszService, LPWSTR wszUserProcedure, VSS_WRITERRESTORE_ENUM writerRestore, BYTE bRebootRequired)
| method | VSS_RESTOREMETHOD_ENUM | in | ファイルの復元方法を示す VSS_RESTOREMETHOD_ENUM 列挙値を指定する。 |
| wszService | LPWSTR | in | 復元の前後に停止・再起動が必要なサービスの名前を指定する。該当しない場合は NULL を指定する。 |
| wszUserProcedure | LPWSTR | in | ユーザーが参照すべき復元手順を記したドキュメントの場所を指定する。 |
| writerRestore | VSS_WRITERRESTORE_ENUM | in | 復元時にライターの関与が必要かどうかを示す VSS_WRITERRESTORE_ENUM 列挙値を指定する。 |
| bRebootRequired | BYTE | in | 復元を完了するために再起動が必要かどうかを指定する。 |
vtbl 7 HRESULT AddComponentDependency(LPWSTR wszForLogicalPath, LPWSTR wszForComponentName, GUID onWriterId, LPWSTR wszOnLogicalPath, LPWSTR wszOnComponentName)
| wszForLogicalPath | LPWSTR | in | 依存関係を持つ側(依存元)コンポーネントの論理パスを指定する。 |
| wszForComponentName | LPWSTR | in | 依存元コンポーネントの名前を指定する。 |
| onWriterId | GUID | in | 依存先ライターのクラス識別子(GUID)を指定する。 |
| wszOnLogicalPath | LPWSTR | in | 依存先コンポーネントの論理パスを指定する。 |
| wszOnComponentName | LPWSTR | in | 依存先コンポーネントの名前を指定する。 |
| dwSchemaMask | DWORD | in | ライターがサポートするバックアップスキーマ(VSS_BACKUP_SCHEMA)を示すマスクを指定する。 |
| pbstrXML | LPWSTR* | out | エクスプレスライターメタデータドキュメントを XML 文字列として受け取る文字列ポインタへのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IVssCreateExpressWriterMetadata "{9C772E77-B26E-427F-92DD-C996F41EA5E3}" #usecom global IVssCreateExpressWriterMetadata IID_IVssCreateExpressWriterMetadata "{}" #comfunc global IVssCreateExpressWriterMetadata_AddExcludeFiles 3 wstr,wstr,int #comfunc global IVssCreateExpressWriterMetadata_AddComponent 4 int,wstr,wstr,wstr,var,int,int,int,int,int,int #comfunc global IVssCreateExpressWriterMetadata_AddFilesToFileGroup 5 wstr,wstr,wstr,wstr,int,wstr,int #comfunc global IVssCreateExpressWriterMetadata_SetRestoreMethod 6 int,wstr,wstr,int,int #comfunc global IVssCreateExpressWriterMetadata_AddComponentDependency 7 wstr,wstr,int,wstr,wstr #comfunc global IVssCreateExpressWriterMetadata_SetBackupSchema 8 int #comfunc global IVssCreateExpressWriterMetadata_SaveAsXML 9 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IVssCreateExpressWriterMetadata "{9C772E77-B26E-427F-92DD-C996F41EA5E3}" #usecom global IVssCreateExpressWriterMetadata IID_IVssCreateExpressWriterMetadata "{}" #comfunc global IVssCreateExpressWriterMetadata_AddExcludeFiles 3 wstr,wstr,int #comfunc global IVssCreateExpressWriterMetadata_AddComponent 4 int,wstr,wstr,wstr,sptr,int,int,int,int,int,int #comfunc global IVssCreateExpressWriterMetadata_AddFilesToFileGroup 5 wstr,wstr,wstr,wstr,int,wstr,int #comfunc global IVssCreateExpressWriterMetadata_SetRestoreMethod 6 int,wstr,wstr,int,int #comfunc global IVssCreateExpressWriterMetadata_AddComponentDependency 7 wstr,wstr,int,wstr,wstr #comfunc global IVssCreateExpressWriterMetadata_SetBackupSchema 8 int #comfunc global IVssCreateExpressWriterMetadata_SaveAsXML 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。