IFsrmExportImport
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
FSRM オブジェクトのエクスポートおよびインポートに使用します。
解説(Remarks)
通常、これらのメソッドはオブジェクトをあるコンピューターから別のコンピューターへ移動するために使用します。これらのメソッドは、オブジェクト側のインポートおよびエクスポートのメソッド (たとえば IFsrmFileGroupManager::ExportFileGroups) が文字列への書き込みおよび文字列からの読み取りを行うのに対し、ファイルへの書き込みおよびファイルからの読み取りを行う点で異なります。
エクスポートのメソッドが作成するファイルは、ユーザーのコンテキストで書き込まれます。
スクリプトからこのオブジェクトを作成するには、Fsrm.FsrmExportImport
プログラム識別子を使用します。
メソッド 6
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
1 つ以上のファイルグループを指定したファイルにエクスポートします。
| filePath | LPWSTR | in | ファイルグループを XML 形式で格納するエクスポートファイルのフルパス。文字列は 260 文字までに制限されます。 |
| fileGroupNamesSafeArray | VARIANT* | in | エクスポートするファイルグループの名前を含む variant。すべてのファイルグループをエクスポートするには、variant を空または NULL に設定します。 variant の型には VT_ARRAY と VT_VARIANT の両方を設定し、 parray メンバーには BSTR の SAFEARRAY を設定します。 |
| remoteHost | LPWSTR | in | リモートサーバーの名前。ローカルサーバーを指定するには、空の文字列を設定します。 |
戻り値
このメソッドは次のエラーコードを返すことがあります。
解説(Remarks)
ファイルグループ名は、 IFsrmFileGroupManager::CreateFileGroup メソッドを呼び出すときに指定します。ファイルグループを列挙するには、 IFsrmFileGroupManager::EnumFileGroups メソッドを呼び出します。
テンプレートのエクスポートには、 IFsrmFileGroupManager::ExportFileGroups メソッドを使用することもできます。
1 つ以上のファイルグループを指定したファイルからインポートします。
| filePath | LPWSTR | in | ファイルグループのインポート元となるファイルのフルパス。文字列は 260 文字までに制限されます。 |
| fileGroupNamesSafeArray | VARIANT* | in | インポートするファイルグループの名前を含む variant。すべてのファイルグループをインポートするには、variant を空または NULL に設定します。 variant の型には VT_ARRAY と VT_VARIANT の両方を設定し、parray メンバーには BSTR の SAFEARRAY を設定します。 |
| remoteHost | LPWSTR | in | リモートサーバーの名前。ローカルサーバーを指定するには、空の文字列を設定します。 |
| fileGroups | IFsrmCommittableCollection** | out | IFsrmFileGroupImported インターフェイスのコレクションを格納する IFsrmCommittableCollection インターフェイス。インポートを完了するには、IFsrmFileGroupImported::Commit メソッドを呼び出す必要があります。 |
戻り値
このメソッドは次の戻り値を返します。
解説(Remarks)
テンプレートのインポートには、IFsrmFileGroupManager::ImportFileGroups メソッドを使用することもできます。
1 つ以上のファイルスクリーンテンプレートを指定したファイルにエクスポートします。
| filePath | LPWSTR | in | ファイルスクリーンテンプレートを XML 形式で格納するエクスポートファイルのフルパス。文字列は 260 文字までに制限されます。 |
| templateNamesSafeArray | VARIANT* | in | エクスポートするファイルスクリーンテンプレートの名前を含む variant。すべてのテンプレートをエクスポートするには、variant を空または NULL に設定します。 variant の型には VT_ARRAY と VT_VARIANT の両方を設定し、parray メンバーには BSTR の SAFEARRAY を設定します。 |
| remoteHost | LPWSTR | in | リモートサーバーの名前。ローカルサーバーを指定するには、空の文字列を設定します。 |
戻り値
このメソッドは次のエラーコードを返すことがあります。
解説(Remarks)
ファイルスクリーンテンプレート名は、IFsrmFileScreenTemplateManager::CreateTemplate メソッドを呼び出すときに指定します。テンプレートを列挙するには、IFsrmFileScreenTemplateManager::EnumTemplates メソッドを呼び出します。
テンプレートのエクスポートには、IFsrmFileScreenTemplateManager::ExportTemplates メソッドを使用することもできます。
1 つ以上のファイルスクリーンテンプレートを指定したファイルからインポートします。
| filePath | LPWSTR | in | ファイルスクリーンテンプレートのインポート元となるファイルのフルパス。文字列は 260 文字までに制限されます。 |
| templateNamesSafeArray | VARIANT* | in | インポートするファイルスクリーンテンプレートの名前を含む variant。すべてのテンプレートをインポートするには、variant を空または NULL に設定します。 variant の型には VT_ARRAY と VT_VARIANT の両方を設定し、parray メンバーには BSTR の SAFEARRAY を設定します。 |
| remoteHost | LPWSTR | in | リモートサーバーの名前。ローカルサーバーを指定するには、空の文字列を設定します。 |
| templates | IFsrmCommittableCollection** | out | IFsrmFileScreenTemplateImported インターフェイスのコレクションを格納する IFsrmCommittableCollection インターフェイス。インポートを完了するには、IFsrmFileScreenTemplateImported::Commit メソッドを呼び出す必要があります。 |
戻り値
このメソッドは次の戻り値を返します。
解説(Remarks)
テンプレートのインポートには、IFsrmFileScreenTemplateManager::ImportTemplates メソッドを使用することもできます。
1 つ以上のクォータテンプレートを指定したファイルにエクスポートします。
| filePath | LPWSTR | in | クォータテンプレートを XML 形式で格納するエクスポートファイルのフルパス。文字列は 260 文字までに制限されます。 |
| templateNamesSafeArray | VARIANT* | in | エクスポートするクォータテンプレートの名前を含む variant。すべてのテンプレートをエクスポートするには、variant を空または NULL に設定します。 variant の型には VT_ARRAY と VT_VARIANT の両方を設定し、 parray メンバーには BSTR の SAFEARRAY を設定します。 |
| remoteHost | LPWSTR | in | リモートサーバーの名前。ローカルサーバーを指定するには、空の文字列を設定します。 |
戻り値
このメソッドは次のエラーコードを返すことがあります。
解説(Remarks)
クォータテンプレート名は、 IFsrmQuotaTemplateManager::CreateTemplate メソッドを呼び出すときに指定します。テンプレートを列挙するには、 IFsrmQuotaTemplateManager::EnumTemplates メソッドを呼び出します。
テンプレートのエクスポートには、 IFsrmQuotaTemplateManager::ExportTemplates メソッドを使用することもできます。
1 つ以上のクォータテンプレートを指定したファイルからインポートします。
| filePath | LPWSTR | in | クォータテンプレートのインポート元となるファイルのフルパス。文字列は 260 文字までに制限されます。 |
| templateNamesSafeArray | VARIANT* | in | インポートするクォータテンプレートの名前を含む variant。すべてのテンプレートをインポートするには、variant を空または NULL に設定します。 variant の型には VT_ARRAY と VT_VARIANT の両方を設定し、parray メンバーには BSTR の SAFEARRAY を設定します。 |
| remoteHost | LPWSTR | in | リモートサーバーの名前。ローカルサーバーを指定するには、空の文字列を設定します。 |
| templates | IFsrmCommittableCollection** | out | IFsrmQuotaTemplateImported インターフェイスのコレクションを格納する IFsrmCommittableCollection インターフェイス。インポートを完了するには、IFsrmQuotaTemplateImported::Commit メソッドを呼び出す必要があります。 |
戻り値
このメソッドは次の戻り値を返します。
解説(Remarks)
テンプレートのインポートには、IFsrmQuotaTemplateManager::ImportTemplates メソッドを使用することもできます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFsrmExportImport "{EFCB0AB1-16C4-4A79-812C-725614C3306B}" #usecom global IFsrmExportImport IID_IFsrmExportImport "{1482DC37-FAE9-4787-9025-8CE4E024AB56}" #comfunc global IFsrmExportImport_ExportFileGroups 7 wstr,var,wstr #comfunc global IFsrmExportImport_ImportFileGroups 8 wstr,var,wstr,sptr #comfunc global IFsrmExportImport_ExportFileScreenTemplates 9 wstr,var,wstr #comfunc global IFsrmExportImport_ImportFileScreenTemplates 10 wstr,var,wstr,sptr #comfunc global IFsrmExportImport_ExportQuotaTemplates 11 wstr,var,wstr #comfunc global IFsrmExportImport_ImportQuotaTemplates 12 wstr,var,wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFsrmExportImport "{EFCB0AB1-16C4-4A79-812C-725614C3306B}" #usecom global IFsrmExportImport IID_IFsrmExportImport "{1482DC37-FAE9-4787-9025-8CE4E024AB56}" #comfunc global IFsrmExportImport_ExportFileGroups 7 wstr,sptr,wstr #comfunc global IFsrmExportImport_ImportFileGroups 8 wstr,sptr,wstr,sptr #comfunc global IFsrmExportImport_ExportFileScreenTemplates 9 wstr,sptr,wstr #comfunc global IFsrmExportImport_ImportFileScreenTemplates 10 wstr,sptr,wstr,sptr #comfunc global IFsrmExportImport_ExportQuotaTemplates 11 wstr,sptr,wstr #comfunc global IFsrmExportImport_ImportQuotaTemplates 12 wstr,sptr,wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。