ホーム › Networking.BackgroundIntelligentTransferService › IBackgroundCopyManager
IBackgroundCopyManager
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT CreateJob(LPWSTR DisplayName, BG_JOB_TYPE Type, GUID* pJobId, IBackgroundCopyJob** ppJob)
| DisplayName | LPWSTR | in | 新規ジョブに付与する表示名。 |
| Type | BG_JOB_TYPE | in | 作成するジョブの種別BG_JOB_TYPE(DOWNLOAD/UPLOAD/UPLOAD_REPLY)。 |
| pJobId | GUID* | out | 生成されたジョブのGUIDを受け取る出力ポインタ。 |
| ppJob | IBackgroundCopyJob** | out | 作成されたジョブのIBackgroundCopyJobを受け取る出力ポインタ。 |
vtbl 4 HRESULT GetJob(GUID* jobID, IBackgroundCopyJob** ppJob)
| jobID | GUID* | in | 取得対象ジョブのGUID。 |
| ppJob | IBackgroundCopyJob** | out | 取得したジョブのIBackgroundCopyJobを受け取る出力ポインタ。 |
vtbl 5 HRESULT EnumJobs(DWORD dwFlags, IEnumBackgroundCopyJobs** ppEnum)
| dwFlags | DWORD | in | 列挙範囲を示すフラグ。0で現ユーザー、BG_JOB_ENUM_ALL_USERSで全ユーザー。 |
| ppEnum | IEnumBackgroundCopyJobs** | out | ジョブを列挙するIEnumBackgroundCopyJobsを受け取る出力ポインタ。 |
| hResult | HRESULT | in | 説明文を取得する対象のエラーHRESULT。 |
| LanguageId | DWORD | in | 説明文を取得する言語ID(LANGID)。 |
| pErrorDescription | LPWSTR* | out | ローカライズされたエラー説明文を受け取る出力ポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IBackgroundCopyManager "{5CE34C0D-0DC9-4C1F-897C-DAA1B78CEE7C}" #usecom global IBackgroundCopyManager IID_IBackgroundCopyManager "{4991D34B-80A1-4291-83B6-3328366B9097}" #comfunc global IBackgroundCopyManager_CreateJob 3 wstr,int,var,sptr #comfunc global IBackgroundCopyManager_GetJob 4 var,sptr #comfunc global IBackgroundCopyManager_EnumJobs 5 int,sptr #comfunc global IBackgroundCopyManager_GetErrorDescription 6 int,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IBackgroundCopyManager "{5CE34C0D-0DC9-4C1F-897C-DAA1B78CEE7C}" #usecom global IBackgroundCopyManager IID_IBackgroundCopyManager "{4991D34B-80A1-4291-83B6-3328366B9097}" #comfunc global IBackgroundCopyManager_CreateJob 3 wstr,int,sptr,sptr #comfunc global IBackgroundCopyManager_GetJob 4 sptr,sptr #comfunc global IBackgroundCopyManager_EnumJobs 5 int,sptr #comfunc global IBackgroundCopyManager_GetErrorDescription 6 int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。