ホーム › System.GroupPolicy › IGPMDomain2
IGPMDomain2
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 6
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 17 HRESULT CreateStarterGPO(IGPMStarterGPO** ppnewTemplate)
| ppnewTemplate | IGPMStarterGPO** | out | 新しく作成されたスターター GPO (IGPMStarterGPO) を受け取るポインタである。 |
vtbl 18 HRESULT CreateGPOFromStarterGPO(IGPMStarterGPO* pGPOTemplate, IGPMGPO** ppnewGPO)
| pGPOTemplate | IGPMStarterGPO* | in | 元となるスターター GPO (IGPMStarterGPO) を指定する。 |
| ppnewGPO | IGPMGPO** | out | スターター GPO を基に作成された新しい GPO (IGPMGPO) を受け取るポインタである。 |
vtbl 19 HRESULT GetStarterGPO(LPWSTR bstrGuid, IGPMStarterGPO** ppTemplate)
| bstrGuid | LPWSTR | in | 取得するスターター GPO の GUID を指定する。 |
| ppTemplate | IGPMStarterGPO** | out | 指定 GUID に対応するスターター GPO (IGPMStarterGPO) を受け取るポインタである。 |
vtbl 20 HRESULT SearchStarterGPOs(IGPMSearchCriteria* pIGPMSearchCriteria, IGPMStarterGPOCollection** ppIGPMTemplateCollection)
| pIGPMSearchCriteria | IGPMSearchCriteria* | in | スターター GPO を絞り込むための検索条件 (IGPMSearchCriteria) を指定する。すべて取得する場合は条件なしを渡す。 |
| ppIGPMTemplateCollection | IGPMStarterGPOCollection** | out | 検索条件に一致したスターター GPO のコレクション (IGPMStarterGPOCollection) を受け取るポインタである。 |
vtbl 21 HRESULT LoadStarterGPO(LPWSTR bstrLoadFile, VARIANT_BOOL bOverwrite, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)
| bstrLoadFile | LPWSTR | in | 読み込むスターター GPO ファイル (.cab) のパスを指定する。 |
| bOverwrite | VARIANT_BOOL | in | 同じスターター GPO が既に存在する場合に上書きするかどうかを指定する VARIANT_BOOL である。 |
| pvarGPMProgress | VARIANT* | in | 進捗通知を受け取るコールバックオブジェクトを表す VARIANT へのポインタである。不要な場合は空の VARIANT を渡す。 |
| pvarGPMCancel | VARIANT* | out | 操作をキャンセルするためのオブジェクトを表す VARIANT へのポインタである。不要な場合は空の VARIANT を渡す。 |
| ppIGPMResult | IGPMResult** | out | 読み込み操作の結果 (IGPMResult) を受け取るポインタである。 |
vtbl 22 HRESULT RestoreStarterGPO(IGPMStarterGPOBackup* pIGPMTmplBackup, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)
| pIGPMTmplBackup | IGPMStarterGPOBackup* | in | 復元元となるスターター GPO バックアップ (IGPMStarterGPOBackup) を指定する。 |
| pvarGPMProgress | VARIANT* | in | 進捗通知を受け取るコールバックオブジェクトを表す VARIANT へのポインタである。不要な場合は空の VARIANT を渡す。 |
| pvarGPMCancel | VARIANT* | out | 操作をキャンセルするためのオブジェクトを表す VARIANT へのポインタである。不要な場合は空の VARIANT を渡す。 |
| ppIGPMResult | IGPMResult** | out | 復元操作の結果 (IGPMResult) を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IGPMDomain2 "{7CA6BB8B-F1EB-490A-938D-3C4E51C768E6}" #usecom global IGPMDomain2 IID_IGPMDomain2 "{}" #comfunc global IGPMDomain2_CreateStarterGPO 17 sptr #comfunc global IGPMDomain2_CreateGPOFromStarterGPO 18 sptr,sptr #comfunc global IGPMDomain2_GetStarterGPO 19 wstr,sptr #comfunc global IGPMDomain2_SearchStarterGPOs 20 sptr,sptr #comfunc global IGPMDomain2_LoadStarterGPO 21 wstr,int,var,var,sptr #comfunc global IGPMDomain2_RestoreStarterGPO 22 sptr,var,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IGPMDomain2 "{7CA6BB8B-F1EB-490A-938D-3C4E51C768E6}" #usecom global IGPMDomain2 IID_IGPMDomain2 "{}" #comfunc global IGPMDomain2_CreateStarterGPO 17 sptr #comfunc global IGPMDomain2_CreateGPOFromStarterGPO 18 sptr,sptr #comfunc global IGPMDomain2_GetStarterGPO 19 wstr,sptr #comfunc global IGPMDomain2_SearchStarterGPOs 20 sptr,sptr #comfunc global IGPMDomain2_LoadStarterGPO 21 wstr,int,sptr,sptr,sptr #comfunc global IGPMDomain2_RestoreStarterGPO 22 sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。