Win32 API 日本語リファレンス
ホームSystem.ApplicationInstallationAndServicing › IPMBackgroundWorkerInfo

IPMBackgroundWorkerInfo

COM
IID7dd4531b-d3bf-4b6b-94f3-69c098b1497d継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT get_ProductID(GUID* pProductID)
pProductIDGUID*outバックグラウンドワーカーが属する製品(アプリ)の識別子 GUID を受け取るポインタである。
vtbl 4 HRESULT get_TaskID(LPWSTR* pTaskID)
pTaskIDLPWSTR*inoutタスクの識別子を表す Unicode 文字列を受け取るポインタへのポインタである。
vtbl 5 HRESULT get_BGName(LPWSTR* pBGName)
pBGNameLPWSTR*inoutバックグラウンドワーカーの名前を表す Unicode 文字列を受け取るポインタへのポインタである。
vtbl 6 HRESULT get_MaxStartupLatency(DWORD* pMaxStartupLatency)
pMaxStartupLatencyDWORD*outワーカー起動までに許容される最大遅延時間を受け取る DWORD へのポインタである。
vtbl 7 HRESULT get_ExpectedRuntime(DWORD* pExpectedRuntime)
pExpectedRuntimeDWORD*outワーカーの想定実行時間を受け取る DWORD へのポインタである。
vtbl 8 HRESULT get_IsBootWorker(BOOL* pIsBootWorker)
pIsBootWorkerBOOL*outワーカーがブート時に実行されるブートワーカーであるか否かを受け取る BOOL へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IPMBackgroundWorkerInfo "{7DD4531B-D3BF-4B6B-94F3-69C098B1497D}"
#usecom global IPMBackgroundWorkerInfo IID_IPMBackgroundWorkerInfo "{}"
#comfunc global IPMBackgroundWorkerInfo_get_ProductID          3 var
#comfunc global IPMBackgroundWorkerInfo_get_TaskID             4 var
#comfunc global IPMBackgroundWorkerInfo_get_BGName             5 var
#comfunc global IPMBackgroundWorkerInfo_get_MaxStartupLatency  6 var
#comfunc global IPMBackgroundWorkerInfo_get_ExpectedRuntime    7 var
#comfunc global IPMBackgroundWorkerInfo_get_IsBootWorker       8 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。