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

IGPM

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDf5fae809-3bd6-4da9-a65e-17665b41d763継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 12

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT GetDomain(LPWSTR bstrDomain, LPWSTR bstrDomainController, INT lDCFlags, IGPMDomain** pIGPMDomain)
bstrDomainLPWSTRin対象ドメインの DNS 名を指定する。
bstrDomainControllerLPWSTRin使用するドメインコントローラーの名前を指定する。既定の DC を使用する場合は空文字列を指定する。
lDCFlagsINTinドメインコントローラーの選択方法を制御するフラグを指定する。
pIGPMDomainIGPMDomain**out取得したドメインを表す IGPMDomain インターフェイスを受け取るポインタである。
vtbl 8 HRESULT GetBackupDir(LPWSTR bstrBackupDir, IGPMBackupDir** pIGPMBackupDir)
bstrBackupDirLPWSTRinバックアップディレクトリのパスを指定する。
pIGPMBackupDirIGPMBackupDir**out取得したバックアップディレクトリを表す IGPMBackupDir インターフェイスを受け取るポインタである。
vtbl 9 HRESULT GetSitesContainer(LPWSTR bstrForest, LPWSTR bstrDomain, LPWSTR bstrDomainController, INT lDCFlags, IGPMSitesContainer** ppIGPMSitesContainer)
bstrForestLPWSTRin対象フォレストの名前を指定する。
bstrDomainLPWSTRin対象ドメインの名前を指定する。
bstrDomainControllerLPWSTRin使用するドメインコントローラーの名前を指定する。
lDCFlagsINTinドメインコントローラーの選択方法を制御するフラグを指定する。
ppIGPMSitesContainerIGPMSitesContainer**out取得したサイトコンテナーを表す IGPMSitesContainer インターフェイスを受け取るポインタである。
vtbl 10 HRESULT GetRSOP(GPMRSOPMode gpmRSoPMode, LPWSTR bstrNamespace, INT lFlags, IGPMRSOP** ppIGPMRSOP)
gpmRSoPModeGPMRSOPModeinRSoP の動作モード(ログ記録または計画)を表す GPMRSOPMode 値を指定する。
bstrNamespaceLPWSTRinRSoP データの WMI 名前空間を指定する。
lFlagsINTinRSoP 取得の動作を制御するフラグを指定する。
ppIGPMRSOPIGPMRSOP**out取得した RSoP オブジェクトを表す IGPMRSOP インターフェイスを受け取るポインタである。
vtbl 11 HRESULT CreatePermission(LPWSTR bstrTrustee, GPMPermissionType perm, VARIANT_BOOL bInheritable, IGPMPermission** ppPerm)
bstrTrusteeLPWSTRinアクセス許可を割り当てる受託者(ユーザーまたはグループ)の名前を指定する。
permGPMPermissionTypein付与するアクセス許可の種類を表す GPMPermissionType 値を指定する。
bInheritableVARIANT_BOOLinこのアクセス許可を継承可能にするかどうかを指定する。
ppPermIGPMPermission**out生成されたアクセス許可を表す IGPMPermission インターフェイスを受け取るポインタである。
vtbl 12 HRESULT CreateSearchCriteria(IGPMSearchCriteria** ppIGPMSearchCriteria)
ppIGPMSearchCriteriaIGPMSearchCriteria**out新規に生成された検索条件を表す IGPMSearchCriteria インターフェイスを受け取るポインタである。
vtbl 13 HRESULT CreateTrustee(LPWSTR bstrTrustee, IGPMTrustee** ppIGPMTrustee)
bstrTrusteeLPWSTRin受託者(ユーザーまたはグループ)の名前を指定する。
ppIGPMTrusteeIGPMTrustee**out生成された受託者を表す IGPMTrustee インターフェイスを受け取るポインタである。
vtbl 14 HRESULT GetClientSideExtensions(IGPMCSECollection** ppIGPMCSECollection)
ppIGPMCSECollectionIGPMCSECollection**out登録されているクライアント側拡張のコレクションを表す IGPMCSECollection を受け取るポインタである。
vtbl 15 HRESULT GetConstants(IGPMConstants** ppIGPMConstants)
ppIGPMConstantsIGPMConstants**outGPMC の定数を提供する IGPMConstants インターフェイスを受け取るポインタである。
vtbl 16 HRESULT GetMigrationTable(LPWSTR bstrMigrationTablePath, IGPMMigrationTable** ppMigrationTable)
bstrMigrationTablePathLPWSTRin読み込む移行テーブルファイルのパスを指定する。
ppMigrationTableIGPMMigrationTable**out取得した移行テーブルを表す IGPMMigrationTable インターフェイスを受け取るポインタである。
vtbl 17 HRESULT CreateMigrationTable(IGPMMigrationTable** ppMigrationTable)
ppMigrationTableIGPMMigrationTable**out新規に生成された移行テーブルを表す IGPMMigrationTable インターフェイスを受け取るポインタである。
vtbl 18 HRESULT InitializeReporting(LPWSTR bstrAdmPath)
bstrAdmPathLPWSTRinレポート生成に使用する 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 不要)。