ホーム › System.GroupPolicy › IGPM
IGPM
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 12
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 7 HRESULT GetDomain(LPWSTR bstrDomain, LPWSTR bstrDomainController, INT lDCFlags, IGPMDomain** pIGPMDomain)
| bstrDomain | LPWSTR | in | 対象ドメインの DNS 名を指定する。 |
| bstrDomainController | LPWSTR | in | 使用するドメインコントローラーの名前を指定する。既定の DC を使用する場合は空文字列を指定する。 |
| lDCFlags | INT | in | ドメインコントローラーの選択方法を制御するフラグを指定する。 |
| pIGPMDomain | IGPMDomain** | out | 取得したドメインを表す IGPMDomain インターフェイスを受け取るポインタである。 |
vtbl 8 HRESULT GetBackupDir(LPWSTR bstrBackupDir, IGPMBackupDir** pIGPMBackupDir)
| bstrBackupDir | LPWSTR | in | バックアップディレクトリのパスを指定する。 |
| pIGPMBackupDir | IGPMBackupDir** | out | 取得したバックアップディレクトリを表す IGPMBackupDir インターフェイスを受け取るポインタである。 |
vtbl 9 HRESULT GetSitesContainer(LPWSTR bstrForest, LPWSTR bstrDomain, LPWSTR bstrDomainController, INT lDCFlags, IGPMSitesContainer** ppIGPMSitesContainer)
| bstrForest | LPWSTR | in | 対象フォレストの名前を指定する。 |
| bstrDomain | LPWSTR | in | 対象ドメインの名前を指定する。 |
| bstrDomainController | LPWSTR | in | 使用するドメインコントローラーの名前を指定する。 |
| lDCFlags | INT | in | ドメインコントローラーの選択方法を制御するフラグを指定する。 |
| ppIGPMSitesContainer | IGPMSitesContainer** | out | 取得したサイトコンテナーを表す IGPMSitesContainer インターフェイスを受け取るポインタである。 |
vtbl 10 HRESULT GetRSOP(GPMRSOPMode gpmRSoPMode, LPWSTR bstrNamespace, INT lFlags, IGPMRSOP** ppIGPMRSOP)
| gpmRSoPMode | GPMRSOPMode | in | RSoP の動作モード(ログ記録または計画)を表す GPMRSOPMode 値を指定する。 |
| bstrNamespace | LPWSTR | in | RSoP データの WMI 名前空間を指定する。 |
| lFlags | INT | in | RSoP 取得の動作を制御するフラグを指定する。 |
| ppIGPMRSOP | IGPMRSOP** | out | 取得した RSoP オブジェクトを表す IGPMRSOP インターフェイスを受け取るポインタである。 |
vtbl 11 HRESULT CreatePermission(LPWSTR bstrTrustee, GPMPermissionType perm, VARIANT_BOOL bInheritable, IGPMPermission** ppPerm)
| bstrTrustee | LPWSTR | in | アクセス許可を割り当てる受託者(ユーザーまたはグループ)の名前を指定する。 |
| perm | GPMPermissionType | in | 付与するアクセス許可の種類を表す GPMPermissionType 値を指定する。 |
| bInheritable | VARIANT_BOOL | in | このアクセス許可を継承可能にするかどうかを指定する。 |
| ppPerm | IGPMPermission** | out | 生成されたアクセス許可を表す IGPMPermission インターフェイスを受け取るポインタである。 |
vtbl 12 HRESULT CreateSearchCriteria(IGPMSearchCriteria** ppIGPMSearchCriteria)
| ppIGPMSearchCriteria | IGPMSearchCriteria** | out | 新規に生成された検索条件を表す IGPMSearchCriteria インターフェイスを受け取るポインタである。 |
vtbl 13 HRESULT CreateTrustee(LPWSTR bstrTrustee, IGPMTrustee** ppIGPMTrustee)
| bstrTrustee | LPWSTR | in | 受託者(ユーザーまたはグループ)の名前を指定する。 |
| ppIGPMTrustee | IGPMTrustee** | out | 生成された受託者を表す IGPMTrustee インターフェイスを受け取るポインタである。 |
vtbl 14 HRESULT GetClientSideExtensions(IGPMCSECollection** ppIGPMCSECollection)
| ppIGPMCSECollection | IGPMCSECollection** | out | 登録されているクライアント側拡張のコレクションを表す IGPMCSECollection を受け取るポインタである。 |
vtbl 15 HRESULT GetConstants(IGPMConstants** ppIGPMConstants)
| ppIGPMConstants | IGPMConstants** | out | GPMC の定数を提供する IGPMConstants インターフェイスを受け取るポインタである。 |
vtbl 16 HRESULT GetMigrationTable(LPWSTR bstrMigrationTablePath, IGPMMigrationTable** ppMigrationTable)
| bstrMigrationTablePath | LPWSTR | in | 読み込む移行テーブルファイルのパスを指定する。 |
| ppMigrationTable | IGPMMigrationTable** | out | 取得した移行テーブルを表す IGPMMigrationTable インターフェイスを受け取るポインタである。 |
vtbl 17 HRESULT CreateMigrationTable(IGPMMigrationTable** ppMigrationTable)
| ppMigrationTable | IGPMMigrationTable** | out | 新規に生成された移行テーブルを表す IGPMMigrationTable インターフェイスを受け取るポインタである。 |
| bstrAdmPath | LPWSTR | in | レポート生成に使用する ADM テンプレートのパスを指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IGPM "{F5FAE809-3BD6-4DA9-A65E-17665B41D763}"
#usecom global IGPM IID_IGPM "{F5694708-88FE-4B35-BABF-E56162D5FBC8}"
#comfunc global IGPM_GetDomain 7 wstr,wstr,int,sptr
#comfunc global IGPM_GetBackupDir 8 wstr,sptr
#comfunc global IGPM_GetSitesContainer 9 wstr,wstr,wstr,int,sptr
#comfunc global IGPM_GetRSOP 10 int,wstr,int,sptr
#comfunc global IGPM_CreatePermission 11 wstr,int,int,sptr
#comfunc global IGPM_CreateSearchCriteria 12 sptr
#comfunc global IGPM_CreateTrustee 13 wstr,sptr
#comfunc global IGPM_GetClientSideExtensions 14 sptr
#comfunc global IGPM_GetConstants 15 sptr
#comfunc global IGPM_GetMigrationTable 16 wstr,sptr
#comfunc global IGPM_CreateMigrationTable 17 sptr
#comfunc global IGPM_InitializeReporting 18 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。