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

IPMEnumerationManager

COM
IID698d57c2-292d-4cf3-b73c-d95a6922ed9a継承元IUnknown自前メソッド開始 vtbl3

メソッド 18

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

vtbl 3 HRESULT get_AllApplications(IPMApplicationInfoEnumerator** ppAppEnum, PM_ENUM_FILTER Filter)
ppAppEnumIPMApplicationInfoEnumerator**out条件に一致するすべてのアプリケーションを列挙する IPMApplicationInfoEnumerator を受け取るポインタへのポインタである。
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
vtbl 4 HRESULT get_AllTiles(IPMTileInfoEnumerator** ppTileEnum, PM_ENUM_FILTER Filter)
ppTileEnumIPMTileInfoEnumerator**out条件に一致するすべてのタイルを列挙する IPMTileInfoEnumerator を受け取るポインタへのポインタである。
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
vtbl 5 HRESULT get_AllTasks(IPMTaskInfoEnumerator** ppTaskEnum, PM_ENUM_FILTER Filter)
ppTaskEnumIPMTaskInfoEnumerator**out条件に一致するすべてのタスクを列挙する IPMTaskInfoEnumerator を受け取るポインタへのポインタである。
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
vtbl 6 HRESULT get_AllExtensions(IPMExtensionInfoEnumerator** ppExtensionEnum, PM_ENUM_FILTER Filter)
ppExtensionEnumIPMExtensionInfoEnumerator**out条件に一致するすべての拡張機能を列挙する IPMExtensionInfoEnumerator を受け取るポインタへのポインタである。
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
vtbl 7 HRESULT get_AllBackgroundServiceAgents(IPMBackgroundServiceAgentInfoEnumerator** ppBSAEnum, PM_ENUM_FILTER Filter)
ppBSAEnumIPMBackgroundServiceAgentInfoEnumerator**out条件に一致するすべてのバックグラウンドサービスエージェントを列挙する IPMBackgroundServiceAgentInfoEnumerator を受け取るポインタへのポインタである。
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
vtbl 8 HRESULT get_AllBackgroundWorkers(IPMBackgroundWorkerInfoEnumerator** ppBSWEnum, PM_ENUM_FILTER Filter)
ppBSWEnumIPMBackgroundWorkerInfoEnumerator**out条件に一致するすべてのバックグラウンドワーカーを列挙する IPMBackgroundWorkerInfoEnumerator を受け取るポインタへのポインタである。
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
vtbl 9 HRESULT get_ApplicationInfo(GUID ProductID, IPMApplicationInfo** ppAppInfo)
ProductIDGUIDin情報を取得する対象アプリケーションの製品 ID (GUID) を指定する。
ppAppInfoIPMApplicationInfo**out対象アプリケーションの情報を表す IPMApplicationInfo を受け取るポインタへのポインタである。
vtbl 10 HRESULT get_TileInfo(GUID ProductID, LPWSTR TileID, IPMTileInfo** ppTileInfo)
ProductIDGUIDin対象アプリケーションの製品 ID (GUID) を指定する。
TileIDLPWSTRin情報を取得する対象タイルの ID 文字列へのポインタである。
ppTileInfoIPMTileInfo**out対象タイルの情報を表す IPMTileInfo を受け取るポインタへのポインタである。
vtbl 11 HRESULT get_TaskInfo(GUID ProductID, LPWSTR TaskID, IPMTaskInfo** ppTaskInfo)
ProductIDGUIDin対象アプリケーションの製品 ID (GUID) を指定する。
TaskIDLPWSTRin情報を取得する対象タスクの ID 文字列へのポインタである。
ppTaskInfoIPMTaskInfo**out対象タスクの情報を表す IPMTaskInfo を受け取るポインタへのポインタである。
vtbl 12 HRESULT get_TaskInfoEx(GUID ProductID, LPWSTR TaskID, IPMTaskInfo** ppTaskInfo)
ProductIDGUIDin対象アプリケーションの製品 ID (GUID) を指定する。
TaskIDLPWSTRin情報を取得する対象タスクの ID 文字列へのポインタである。
ppTaskInfoIPMTaskInfo**out対象タスクの拡張情報を表す IPMTaskInfo を受け取るポインタへのポインタである。
vtbl 13 HRESULT get_BackgroundServiceAgentInfo(DWORD BSAID, IPMBackgroundServiceAgentInfo** ppTaskInfo)
BSAIDDWORDin情報を取得する対象バックグラウンドサービスエージェントの ID を指定する。
ppTaskInfoIPMBackgroundServiceAgentInfo**out対象エージェントの情報を表す IPMBackgroundServiceAgentInfo を受け取るポインタへのポインタである。
vtbl 14 HRESULT get_AllLiveTileJobs(IPMLiveTileJobInfoEnumerator** ppLiveTileJobEnum)
ppLiveTileJobEnumIPMLiveTileJobInfoEnumerator**outすべてのライブタイルジョブを列挙する IPMLiveTileJobInfoEnumerator を受け取るポインタへのポインタである。
vtbl 15 HRESULT get_LiveTileJob(GUID ProductID, LPWSTR TileID, PM_LIVETILE_RECURRENCE_TYPE RecurrenceType, IPMLiveTileJobInfo** ppLiveTileJobInfo)
ProductIDGUIDin対象アプリケーションの製品 ID (GUID) を指定する。
TileIDLPWSTRin対象タイルの ID 文字列へのポインタである。
RecurrenceTypePM_LIVETILE_RECURRENCE_TYPEin取得するライブタイルジョブの繰り返し種別を示す PM_LIVETILE_RECURRENCE_TYPE を指定する。
ppLiveTileJobInfoIPMLiveTileJobInfo**out対象ライブタイルジョブの情報を表す IPMLiveTileJobInfo を受け取るポインタへのポインタである。
vtbl 16 HRESULT get_ApplicationInfoExternal(GUID ProductID, IPMApplicationInfo** ppAppInfo)
ProductIDGUIDin情報を取得する対象アプリケーションの製品 ID (GUID) を指定する。
ppAppInfoIPMApplicationInfo**out外部公開用のアプリケーション情報を表す IPMApplicationInfo を受け取るポインタへのポインタである。
vtbl 17 HRESULT get_FileHandlerGenericLogo(LPWSTR FileType, PM_LOGO_SIZE LogoSize, LPWSTR* pLogo)
FileTypeLPWSTRinロゴを取得する対象のファイル種別文字列へのポインタである。
LogoSizePM_LOGO_SIZEin取得するロゴのサイズを示す PM_LOGO_SIZE を指定する。
pLogoLPWSTR*inoutファイルハンドラーの汎用ロゴのパス文字列を受け取るポインタへのポインタである。
vtbl 18 HRESULT get_ApplicationInfoFromAccessClaims(LPWSTR SysAppID0, LPWSTR SysAppID1, IPMApplicationInfo** ppAppInfo)
SysAppID0LPWSTRinアクセスクレームを構成するシステムアプリ ID の 1 つ目の文字列へのポインタである。
SysAppID1LPWSTRinアクセスクレームを構成するシステムアプリ ID の 2 つ目の文字列へのポインタである。
ppAppInfoIPMApplicationInfo**outアクセスクレームから特定したアプリケーション情報を表す IPMApplicationInfo を受け取るポインタへのポインタである。
vtbl 19 HRESULT get_StartTileEnumeratorBlob(PM_ENUM_FILTER Filter, DWORD* pcTiles, PM_STARTTILEBLOB** ppTileBlobs)
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
pcTilesDWORD*out返されるタイル BLOB の個数を受け取る変数へのポインタである。
ppTileBlobsPM_STARTTILEBLOB**outスタート画面タイルを表す PM_STARTTILEBLOB の配列を受け取るポインタへのポインタである。
vtbl 20 HRESULT get_StartAppEnumeratorBlob(PM_ENUM_FILTER Filter, DWORD* pcApps, PM_STARTAPPBLOB** ppAppBlobs)
FilterPM_ENUM_FILTERin列挙対象を絞り込む PM_ENUM_FILTER を指定する。
pcAppsDWORD*out返されるアプリ BLOB の個数を受け取る変数へのポインタである。
ppAppBlobsPM_STARTAPPBLOB**outスタート画面アプリを表す PM_STARTAPPBLOB の配列を受け取るポインタへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IPMEnumerationManager "{698D57C2-292D-4CF3-B73C-D95A6922ED9A}"
#usecom global IPMEnumerationManager IID_IPMEnumerationManager "{}"
#comfunc global IPMEnumerationManager_get_AllApplications                  3 sptr,int
#comfunc global IPMEnumerationManager_get_AllTiles                         4 sptr,int
#comfunc global IPMEnumerationManager_get_AllTasks                         5 sptr,int
#comfunc global IPMEnumerationManager_get_AllExtensions                    6 sptr,int
#comfunc global IPMEnumerationManager_get_AllBackgroundServiceAgents       7 sptr,int
#comfunc global IPMEnumerationManager_get_AllBackgroundWorkers             8 sptr,int
#comfunc global IPMEnumerationManager_get_ApplicationInfo                  9 int,sptr
#comfunc global IPMEnumerationManager_get_TileInfo                         10 int,wstr,sptr
#comfunc global IPMEnumerationManager_get_TaskInfo                         11 int,wstr,sptr
#comfunc global IPMEnumerationManager_get_TaskInfoEx                       12 int,wstr,sptr
#comfunc global IPMEnumerationManager_get_BackgroundServiceAgentInfo       13 int,sptr
#comfunc global IPMEnumerationManager_get_AllLiveTileJobs                  14 sptr
#comfunc global IPMEnumerationManager_get_LiveTileJob                      15 int,wstr,int,sptr
#comfunc global IPMEnumerationManager_get_ApplicationInfoExternal          16 int,sptr
#comfunc global IPMEnumerationManager_get_FileHandlerGenericLogo           17 wstr,int,var
#comfunc global IPMEnumerationManager_get_ApplicationInfoFromAccessClaims  18 wstr,wstr,sptr
#comfunc global IPMEnumerationManager_get_StartTileEnumeratorBlob          19 int,var,var
#comfunc global IPMEnumerationManager_get_StartAppEnumeratorBlob           20 int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。