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

IBackgroundCopyQMgr

COM
IID16f41c69-09f5-41d2-8cd8-3c08c47bc8a8継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IBackgroundCopyQMgr インターフェイスは、新しいグループの作成、既存グループの取得、またはキュー内のすべてのグループの列挙に使用します。グループにはダウンロードジョブが含まれます。

メソッド 3

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

vtbl 3 HRESULT CreateGroup(GUID guidGroupID, IBackgroundCopyGroup** ppGroup)

CreateGroup メソッドは、新しいグループを作成してダウンロードキューに追加するために使用します。

guidGroupIDGUIDinダウンロードキュー内でグループを一意に識別する GUID。
ppGroupIBackgroundCopyGroup**outIBackgroundCopyGroup インターフェイスポインターへのポインター。このインターフェイスを使用してグループを管理します。たとえば、グループへのジョブの追加やグループのプロパティの設定を行います。

戻り値

このメソッドは、次の HRESULT 値のほか、その他の値を返します。

戻り値 説明
S_OK
グループの作成に成功しました。
E_INVALIDARG
その GUID を持つグループが既に存在します。
vtbl 4 HRESULT GetGroup(GUID groupID, IBackgroundCopyGroup** ppGroup)

GetGroup メソッドは、ダウンロードキューからグループを取得するために使用します。

groupIDGUIDinダウンロードキュー内でグループを一意に識別する GUID。
ppGroupIBackgroundCopyGroup**outIBackgroundCopyGroup インターフェイスポインターへのポインター。このインターフェイスを使用してグループを管理します。たとえば、グループへのジョブの追加やグループのプロパティの設定を行います。

戻り値

このメソッドは、次の HRESULT 値のほか、その他の値を返します。

戻り値 説明
S_OK
グループの取得に成功しました。
QM_E_ITEM_NOT_FOUND
ダウンロードキュー内にグループが見つかりませんでした。
vtbl 5 HRESULT EnumGroups(DWORD dwFlags, IEnumBackgroundCopyGroups** ppEnumGroups)

EnumGroups メソッドは、現在のユーザーが所有するグループの一覧を取得するために使用します。現在のユーザーが管理者権限を持つ場合、このメソッドはキュー内のすべてのグループを返します。

dwFlagsDWORDin0 でなければなりません。
ppEnumGroupsIEnumBackgroundCopyGroups**outIEnumBackgroundCopyGroups インターフェイスポインターへのポインター。このインターフェイスを使用して一覧からグループを取得します。

戻り値

このメソッドは、次の HRESULT 値のほか、その他の値を返します。

戻り値 説明
S_OK
ダウンロードキュー内のグループの一覧の取得に成功しました。
E_NOTIMPL
dwFlags パラメーターは 0 でなければなりません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

#define global IID_IBackgroundCopyQMgr "{16F41C69-09F5-41D2-8CD8-3C08C47BC8A8}"
#usecom global IBackgroundCopyQMgr IID_IBackgroundCopyQMgr "{69AD4AEE-51BE-439B-A92C-86AE490E8B30}"
#comfunc global IBackgroundCopyQMgr_CreateGroup  3 int,sptr
#comfunc global IBackgroundCopyQMgr_GetGroup     4 int,sptr
#comfunc global IBackgroundCopyQMgr_EnumGroups   5 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。