Win32 API 日本語リファレンス
ホームNetworking.BackgroundIntelligentTransferService › IBackgroundCopyJob

IBackgroundCopyJob

COM
IID37668d37-507e-4160-9316-26306d150b12継承元IUnknown自前メソッド開始 vtbl3

メソッド 32

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT AddFileSet(DWORD cFileCount, BG_FILE_INFO* pFileSet)
cFileCountDWORDin追加するファイル数(pFileSet配列の要素数)。
pFileSetBG_FILE_INFO*in追加するファイル情報BG_FILE_INFO構造体の配列。
vtbl 4 HRESULT AddFile(LPWSTR RemoteUrl, LPWSTR LocalName)
RemoteUrlLPWSTRinダウンロード元またはアップロード先のリモートURL。
LocalNameLPWSTRinファイルのローカルパス。
vtbl 5 HRESULT EnumFiles(IEnumBackgroundCopyFiles** pEnum)
pEnumIEnumBackgroundCopyFiles**outジョブ内ファイルを列挙するIEnumBackgroundCopyFilesを受け取る出力ポインタ。
vtbl 6 HRESULT Suspend()
vtbl 7 HRESULT Resume()
vtbl 8 HRESULT Cancel()
vtbl 9 HRESULT Complete()
vtbl 10 HRESULT GetId(GUID* pVal)
pValGUID*outジョブの一意なGUID識別子を受け取る出力ポインタ。
vtbl 11 HRESULT GetType(BG_JOB_TYPE* pVal)
pValBG_JOB_TYPE*outジョブの種別BG_JOB_TYPE(DOWNLOAD/UPLOAD等)を受け取る出力ポインタ。
vtbl 12 HRESULT GetProgress(BG_JOB_PROGRESS* pVal)
pValBG_JOB_PROGRESS*outジョブ全体の進捗情報BG_JOB_PROGRESS構造体を受け取る出力ポインタ。
vtbl 13 HRESULT GetTimes(BG_JOB_TIMES* pVal)
pValBG_JOB_TIMES*outジョブの作成/変更/完了時刻情報BG_JOB_TIMES構造体を受け取る出力ポインタ。
vtbl 14 HRESULT GetState(BG_JOB_STATE* pVal)
pValBG_JOB_STATE*outジョブの現在状態BG_JOB_STATE(転送中/一時停止/完了等)を受け取る出力ポインタ。
vtbl 15 HRESULT GetError(IBackgroundCopyError** ppError)
ppErrorIBackgroundCopyError**out直近のエラー情報IBackgroundCopyErrorを受け取る出力ポインタ。エラー無し時はBG_E_ERROR_INFORMATION_UNAVAILABLE。
vtbl 16 HRESULT GetOwner(LPWSTR* pVal)
pValLPWSTR*outジョブ所有者のSID文字列を受け取る出力ポインタ。
vtbl 17 HRESULT SetDisplayName(LPWSTR Val)
ValLPWSTRinジョブに設定する表示名。
vtbl 18 HRESULT GetDisplayName(LPWSTR* pVal)
pValLPWSTR*outジョブの表示名を受け取る出力ポインタ。
vtbl 19 HRESULT SetDescription(LPWSTR Val)
ValLPWSTRinジョブに設定する説明文。
vtbl 20 HRESULT GetDescription(LPWSTR* pVal)
pValLPWSTR*outジョブの説明文を受け取る出力ポインタ。
vtbl 21 HRESULT SetPriority(BG_JOB_PRIORITY Val)
ValBG_JOB_PRIORITYin設定するジョブの優先度BG_JOB_PRIORITY(FOREGROUND/HIGH/NORMAL/LOW)。
vtbl 22 HRESULT GetPriority(BG_JOB_PRIORITY* pVal)
pValBG_JOB_PRIORITY*outジョブの優先度BG_JOB_PRIORITYを受け取る出力ポインタ。
vtbl 23 HRESULT SetNotifyFlags(DWORD Val)
ValDWORDin通知を発生させる条件を示すフラグ(転送完了/エラー/変更等)。
vtbl 24 HRESULT GetNotifyFlags(DWORD* pVal)
pValDWORD*out現在の通知フラグを受け取る出力ポインタ。
vtbl 25 HRESULT SetNotifyInterface(IUnknown* Val)
ValIUnknown*in通知を受け取るコールバックオブジェクト(IUnknown)。NULLで解除する。
vtbl 26 HRESULT GetNotifyInterface(IUnknown** pVal)
pValIUnknown**out登録済み通知コールバックのIUnknownを受け取る出力ポインタ。
vtbl 27 HRESULT SetMinimumRetryDelay(DWORD Seconds)
SecondsDWORDin再試行までの最小待機時間(秒)。
vtbl 28 HRESULT GetMinimumRetryDelay(DWORD* Seconds)
SecondsDWORD*out再試行までの最小待機時間(秒)を受け取る出力ポインタ。
vtbl 29 HRESULT SetNoProgressTimeout(DWORD Seconds)
SecondsDWORDin進捗が無い状態を致命的エラーとみなすまでの猶予時間(秒)。
vtbl 30 HRESULT GetNoProgressTimeout(DWORD* Seconds)
SecondsDWORD*out進捗無しタイムアウト時間(秒)を受け取る出力ポインタ。
vtbl 31 HRESULT GetErrorCount(DWORD* Errors)
ErrorsDWORD*outジョブで発生した一時的/致命的エラーの累積回数を受け取る出力ポインタ。
vtbl 32 HRESULT SetProxySettings(BG_JOB_PROXY_USAGE ProxyUsage, LPWSTR ProxyList, LPWSTR ProxyBypassList)
ProxyUsageBG_JOB_PROXY_USAGEinプロキシ使用方法BG_JOB_PROXY_USAGE(PRECONFIG/NO_PROXY/OVERRIDE等)。
ProxyListLPWSTRinOVERRIDE時に使用するプロキシサーバーの一覧。NULL可。
ProxyBypassListLPWSTRinプロキシを経由しないホストの一覧。NULL可。
vtbl 33 HRESULT GetProxySettings(BG_JOB_PROXY_USAGE* pProxyUsage, LPWSTR* pProxyList, LPWSTR* pProxyBypassList)
pProxyUsageBG_JOB_PROXY_USAGE*out現在のプロキシ使用方法BG_JOB_PROXY_USAGEを受け取る出力ポインタ。
pProxyListLPWSTR*out現在のプロキシ一覧を受け取る出力ポインタ。
pProxyBypassListLPWSTR*out現在のプロキシバイパス一覧を受け取る出力ポインタ。
vtbl 34 HRESULT TakeOwnership()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IBackgroundCopyJob "{37668D37-507E-4160-9316-26306D150B12}"
#usecom global IBackgroundCopyJob IID_IBackgroundCopyJob "{}"
#comfunc global IBackgroundCopyJob_AddFileSet            3 int,var
#comfunc global IBackgroundCopyJob_AddFile               4 wstr,wstr
#comfunc global IBackgroundCopyJob_EnumFiles             5 sptr
#comfunc global IBackgroundCopyJob_Suspend               6
#comfunc global IBackgroundCopyJob_Resume                7
#comfunc global IBackgroundCopyJob_Cancel                8
#comfunc global IBackgroundCopyJob_Complete              9
#comfunc global IBackgroundCopyJob_GetId                 10 var
#comfunc global IBackgroundCopyJob_GetType               11 var
#comfunc global IBackgroundCopyJob_GetProgress           12 var
#comfunc global IBackgroundCopyJob_GetTimes              13 var
#comfunc global IBackgroundCopyJob_GetState              14 var
#comfunc global IBackgroundCopyJob_GetError              15 sptr
#comfunc global IBackgroundCopyJob_GetOwner              16 var
#comfunc global IBackgroundCopyJob_SetDisplayName        17 wstr
#comfunc global IBackgroundCopyJob_GetDisplayName        18 var
#comfunc global IBackgroundCopyJob_SetDescription        19 wstr
#comfunc global IBackgroundCopyJob_GetDescription        20 var
#comfunc global IBackgroundCopyJob_SetPriority           21 int
#comfunc global IBackgroundCopyJob_GetPriority           22 var
#comfunc global IBackgroundCopyJob_SetNotifyFlags        23 int
#comfunc global IBackgroundCopyJob_GetNotifyFlags        24 var
#comfunc global IBackgroundCopyJob_SetNotifyInterface    25 sptr
#comfunc global IBackgroundCopyJob_GetNotifyInterface    26 sptr
#comfunc global IBackgroundCopyJob_SetMinimumRetryDelay  27 int
#comfunc global IBackgroundCopyJob_GetMinimumRetryDelay  28 var
#comfunc global IBackgroundCopyJob_SetNoProgressTimeout  29 int
#comfunc global IBackgroundCopyJob_GetNoProgressTimeout  30 var
#comfunc global IBackgroundCopyJob_GetErrorCount         31 var
#comfunc global IBackgroundCopyJob_SetProxySettings      32 int,wstr,wstr
#comfunc global IBackgroundCopyJob_GetProxySettings      33 var,var,var
#comfunc global IBackgroundCopyJob_TakeOwnership         34
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。