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

IPMBackgroundServiceAgentInfo

COM
IID3a8b46da-928c-4879-998c-09dc96f3d490継承元IUnknown自前メソッド開始 vtbl3

メソッド 14

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_BSAID(DWORD* pBSAID)
pBSAIDDWORD*outバックグラウンドサービスエージェントの識別子を受け取る DWORD へのポインタである。
vtbl 6 HRESULT get_BGSpecifier(LPWSTR* pBGSpecifier)
pBGSpecifierLPWSTR*inoutバックグラウンドエージェントを指定する識別子文字列を受け取るポインタへのポインタである。
vtbl 7 HRESULT get_BGName(LPWSTR* pBGName)
pBGNameLPWSTR*inoutバックグラウンドエージェントの名前を表す Unicode 文字列を受け取るポインタへのポインタである。
vtbl 8 HRESULT get_BGSource(LPWSTR* pBGSource)
pBGSourceLPWSTR*inoutバックグラウンドエージェントのソース(実装を含むアセンブリ等)を表す Unicode 文字列を受け取るポインタへのポインタである。
vtbl 9 HRESULT get_BGType(LPWSTR* pBGType)
pBGTypeLPWSTR*inoutバックグラウンドエージェントの種類を表す Unicode 文字列を受け取るポインタへのポインタである。
vtbl 10 HRESULT get_IsPeriodic(BOOL* pIsPeriodic)
pIsPeriodicBOOL*outエージェントが定期実行型であるか否かを受け取る BOOL へのポインタである。
vtbl 11 HRESULT get_IsScheduled(BOOL* pIsScheduled)
pIsScheduledBOOL*outエージェントが現在スケジュール登録されているか否かを受け取る BOOL へのポインタである。
vtbl 12 HRESULT get_IsScheduleAllowed(BOOL* pIsScheduleAllowed)
pIsScheduleAllowedBOOL*outエージェントのスケジュール登録が許可されているか否かを受け取る BOOL へのポインタである。
vtbl 13 HRESULT get_Description(LPWSTR* pDescription)
pDescriptionLPWSTR*inoutエージェントの説明を表す Unicode 文字列を受け取るポインタへのポインタである。
vtbl 14 HRESULT get_IsLaunchOnBoot(BOOL* pLaunchOnBoot)
pLaunchOnBootBOOL*outエージェントがブート時に起動するか否かを受け取る BOOL へのポインタである。
vtbl 15 HRESULT set_IsScheduled(BOOL IsScheduled)
IsScheduledBOOLinエージェントをスケジュール登録するか否かを指定する BOOL である。
vtbl 16 HRESULT set_IsScheduleAllowed(BOOL IsScheduleAllowed)
IsScheduleAllowedBOOLinエージェントのスケジュール登録を許可するか否かを指定する BOOL である。

HSP用 COM定義

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

出力引数:
#define global IID_IPMBackgroundServiceAgentInfo "{3A8B46DA-928C-4879-998C-09DC96F3D490}"
#usecom global IPMBackgroundServiceAgentInfo IID_IPMBackgroundServiceAgentInfo "{}"
#comfunc global IPMBackgroundServiceAgentInfo_get_ProductID          3 var
#comfunc global IPMBackgroundServiceAgentInfo_get_TaskID             4 var
#comfunc global IPMBackgroundServiceAgentInfo_get_BSAID              5 var
#comfunc global IPMBackgroundServiceAgentInfo_get_BGSpecifier        6 var
#comfunc global IPMBackgroundServiceAgentInfo_get_BGName             7 var
#comfunc global IPMBackgroundServiceAgentInfo_get_BGSource           8 var
#comfunc global IPMBackgroundServiceAgentInfo_get_BGType             9 var
#comfunc global IPMBackgroundServiceAgentInfo_get_IsPeriodic         10 var
#comfunc global IPMBackgroundServiceAgentInfo_get_IsScheduled        11 var
#comfunc global IPMBackgroundServiceAgentInfo_get_IsScheduleAllowed  12 var
#comfunc global IPMBackgroundServiceAgentInfo_get_Description        13 var
#comfunc global IPMBackgroundServiceAgentInfo_get_IsLaunchOnBoot     14 var
#comfunc global IPMBackgroundServiceAgentInfo_set_IsScheduled        15 int
#comfunc global IPMBackgroundServiceAgentInfo_set_IsScheduleAllowed  16 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。