ホーム › System.GroupPolicy › IGPMGPO
IGPMGPO
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 29
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
| pVal | LPWSTR* | out | この GPO の表示名を受け取るポインタである。 |
| newVal | LPWSTR | in | この GPO に設定する表示名を指定する。 |
| pVal | LPWSTR* | out | この GPO のパスを受け取るポインタである。 |
| pVal | LPWSTR* | out | この GPO の ID(GUID)を受け取るポインタである。 |
| pVal | LPWSTR* | out | この GPO が属するドメインの名前を受け取るポインタである。 |
| pDate | DOUBLE* | out | この GPO の作成日時を受け取る DOUBLE へのポインタである。 |
| pDate | DOUBLE* | out | この GPO の最終更新日時を受け取る DOUBLE へのポインタである。 |
| pVal | INT* | out | ユーザー構成のディレクトリサービス側バージョン番号を受け取るポインタである。 |
| pVal | INT* | out | コンピューター構成のディレクトリサービス側バージョン番号を受け取るポインタである。 |
| pVal | INT* | out | ユーザー構成の SYSVOL 側バージョン番号を受け取るポインタである。 |
| pVal | INT* | out | コンピューター構成の SYSVOL 側バージョン番号を受け取るポインタである。 |
vtbl 18 HRESULT GetWMIFilter(IGPMWMIFilter** ppIGPMWMIFilter)
| ppIGPMWMIFilter | IGPMWMIFilter** | out | この GPO にリンクされた WMI フィルターを表す IGPMWMIFilter を受け取るポインタである。フィルターが無い場合は NULL が返る。 |
vtbl 19 HRESULT SetWMIFilter(IGPMWMIFilter* pIGPMWMIFilter)
| pIGPMWMIFilter | IGPMWMIFilter* | in | この GPO にリンクする WMI フィルターを表す IGPMWMIFilter へのポインタである。リンクを解除する場合は NULL を指定する。 |
vtbl 20 HRESULT SetUserEnabled(VARIANT_BOOL vbEnabled)
| vbEnabled | VARIANT_BOOL | in | GPO のユーザー構成を有効にするかどうかを指定する VARIANT_BOOL である。 |
vtbl 21 HRESULT SetComputerEnabled(VARIANT_BOOL vbEnabled)
| vbEnabled | VARIANT_BOOL | in | GPO のコンピューター構成を有効にするかどうかを指定する VARIANT_BOOL である。 |
vtbl 22 HRESULT IsUserEnabled(VARIANT_BOOL* pvbEnabled)
| pvbEnabled | VARIANT_BOOL* | out | GPO のユーザー構成が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
vtbl 23 HRESULT IsComputerEnabled(VARIANT_BOOL* pvbEnabled)
| pvbEnabled | VARIANT_BOOL* | out | GPO のコンピューター構成が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
vtbl 24 HRESULT GetSecurityInfo(IGPMSecurityInfo** ppSecurityInfo)
| ppSecurityInfo | IGPMSecurityInfo** | out | この GPO のセキュリティ情報を表す IGPMSecurityInfo を受け取るポインタである。 |
vtbl 25 HRESULT SetSecurityInfo(IGPMSecurityInfo* pSecurityInfo)
| pSecurityInfo | IGPMSecurityInfo* | in | この GPO に設定するセキュリティ情報を表す IGPMSecurityInfo へのポインタである。 |
vtbl 26 HRESULT Delete()
vtbl 27 HRESULT Backup(LPWSTR bstrBackupDir, LPWSTR bstrComment, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)
| bstrBackupDir | LPWSTR | in | バックアップの保存先ディレクトリのパスを指定する。 |
| bstrComment | LPWSTR | in | バックアップに付与するコメントを指定する。 |
| pvarGPMProgress | VARIANT* | in | 進行状況の通知を受け取る IGPMAsyncProgress を格納した VARIANT へのポインタである。 |
| pvarGPMCancel | VARIANT* | out | 処理のキャンセルに使用する IGPMCancel を格納した VARIANT へのポインタである。 |
| ppIGPMResult | IGPMResult** | out | バックアップ処理の結果を表す IGPMResult を受け取るポインタである。 |
vtbl 28 HRESULT Import(INT lFlags, IGPMBackup* pIGPMBackup, VARIANT* pvarMigrationTable, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)
| lFlags | INT | in | インポート動作を制御するフラグを指定する。 |
| pIGPMBackup | IGPMBackup* | in | インポート元となるバックアップを表す IGPMBackup へのポインタである。 |
| pvarMigrationTable | VARIANT* | in | インポート時に適用する移行テーブルを格納した VARIANT へのポインタである。不要な場合は省略可能である。 |
| pvarGPMProgress | VARIANT* | in | 進行状況の通知を受け取る IGPMAsyncProgress を格納した VARIANT へのポインタである。 |
| pvarGPMCancel | VARIANT* | out | 処理のキャンセルに使用する IGPMCancel を格納した VARIANT へのポインタである。 |
| ppIGPMResult | IGPMResult** | out | インポート処理の結果を表す IGPMResult を受け取るポインタである。 |
vtbl 29 HRESULT GenerateReport(GPMReportType gpmReportType, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)
| gpmReportType | GPMReportType | in | 生成するレポートの種類を表す GPMReportType 値を指定する。 |
| pvarGPMProgress | VARIANT* | in | 進行状況の通知を受け取る IGPMAsyncProgress を格納した VARIANT へのポインタである。 |
| pvarGPMCancel | VARIANT* | out | 処理のキャンセルに使用する IGPMCancel を格納した VARIANT へのポインタである。 |
| ppIGPMResult | IGPMResult** | out | レポート生成の結果を表す IGPMResult を受け取るポインタである。 |
vtbl 30 HRESULT GenerateReportToFile(GPMReportType gpmReportType, LPWSTR bstrTargetFilePath, IGPMResult** ppIGPMResult)
| gpmReportType | GPMReportType | in | 生成するレポートの種類を表す GPMReportType 値を指定する。 |
| bstrTargetFilePath | LPWSTR | in | レポートを書き出す出力ファイルのパスを指定する。 |
| ppIGPMResult | IGPMResult** | out | レポート生成の結果を表す IGPMResult を受け取るポインタである。 |
vtbl 31 HRESULT CopyTo(INT lFlags, IGPMDomain* pIGPMDomain, VARIANT* pvarNewDisplayName, VARIANT* pvarMigrationTable, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)
| lFlags | INT | in | コピー動作を制御するフラグを指定する。 |
| pIGPMDomain | IGPMDomain* | in | コピー先のドメインを表す IGPMDomain へのポインタである。 |
| pvarNewDisplayName | VARIANT* | in | コピー先の GPO に設定する新しい表示名を格納した VARIANT へのポインタである。元の名前を使う場合は省略可能である。 |
| pvarMigrationTable | VARIANT* | in | コピー時に適用する移行テーブルを格納した VARIANT へのポインタである。不要な場合は省略可能である。 |
| pvarGPMProgress | VARIANT* | in | 進行状況の通知を受け取る IGPMAsyncProgress を格納した VARIANT へのポインタである。 |
| pvarGPMCancel | VARIANT* | out | 処理のキャンセルに使用する IGPMCancel を格納した VARIANT へのポインタである。 |
| ppIGPMResult | IGPMResult** | out | コピー処理の結果を表す IGPMResult を受け取るポインタである。 |
| lFlags | INT | in | 設定するセキュリティ記述子の対象部分を制御するフラグを指定する。 |
| pSD | IDispatch* | in | 設定するセキュリティ記述子を表す IDispatch へのポインタである。 |
| lFlags | INT | in | 取得するセキュリティ記述子の対象部分を制御するフラグを指定する。 |
| ppSD | IDispatch** | out | 取得したセキュリティ記述子を表す IDispatch を受け取るポインタである。 |
vtbl 34 HRESULT IsACLConsistent(VARIANT_BOOL* pvbConsistent)
| pvbConsistent | VARIANT_BOOL* | out | GPO の AD オブジェクトと SYSVOL の ACL が一貫しているかどうかを受け取る VARIANT_BOOL へのポインタである。 |
vtbl 35 HRESULT MakeACLConsistent()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IGPMGPO "{58CC4352-1CA3-48E5-9864-1DA4D6E0D60F}" #usecom global IGPMGPO IID_IGPMGPO "{}" #comfunc global IGPMGPO_get_DisplayName 7 var #comfunc global IGPMGPO_put_DisplayName 8 wstr #comfunc global IGPMGPO_get_Path 9 var #comfunc global IGPMGPO_get_ID 10 var #comfunc global IGPMGPO_get_DomainName 11 var #comfunc global IGPMGPO_get_CreationTime 12 var #comfunc global IGPMGPO_get_ModificationTime 13 var #comfunc global IGPMGPO_get_UserDSVersionNumber 14 var #comfunc global IGPMGPO_get_ComputerDSVersionNumber 15 var #comfunc global IGPMGPO_get_UserSysvolVersionNumber 16 var #comfunc global IGPMGPO_get_ComputerSysvolVersionNumber 17 var #comfunc global IGPMGPO_GetWMIFilter 18 sptr #comfunc global IGPMGPO_SetWMIFilter 19 sptr #comfunc global IGPMGPO_SetUserEnabled 20 int #comfunc global IGPMGPO_SetComputerEnabled 21 int #comfunc global IGPMGPO_IsUserEnabled 22 var #comfunc global IGPMGPO_IsComputerEnabled 23 var #comfunc global IGPMGPO_GetSecurityInfo 24 sptr #comfunc global IGPMGPO_SetSecurityInfo 25 sptr #comfunc global IGPMGPO_Delete 26 #comfunc global IGPMGPO_Backup 27 wstr,wstr,var,var,sptr #comfunc global IGPMGPO_Import 28 int,sptr,var,var,var,sptr #comfunc global IGPMGPO_GenerateReport 29 int,var,var,sptr #comfunc global IGPMGPO_GenerateReportToFile 30 int,wstr,sptr #comfunc global IGPMGPO_CopyTo 31 int,sptr,var,var,var,var,sptr #comfunc global IGPMGPO_SetSecurityDescriptor 32 int,sptr #comfunc global IGPMGPO_GetSecurityDescriptor 33 int,sptr #comfunc global IGPMGPO_IsACLConsistent 34 var #comfunc global IGPMGPO_MakeACLConsistent 35 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IGPMGPO "{58CC4352-1CA3-48E5-9864-1DA4D6E0D60F}" #usecom global IGPMGPO IID_IGPMGPO "{}" #comfunc global IGPMGPO_get_DisplayName 7 sptr #comfunc global IGPMGPO_put_DisplayName 8 wstr #comfunc global IGPMGPO_get_Path 9 sptr #comfunc global IGPMGPO_get_ID 10 sptr #comfunc global IGPMGPO_get_DomainName 11 sptr #comfunc global IGPMGPO_get_CreationTime 12 sptr #comfunc global IGPMGPO_get_ModificationTime 13 sptr #comfunc global IGPMGPO_get_UserDSVersionNumber 14 sptr #comfunc global IGPMGPO_get_ComputerDSVersionNumber 15 sptr #comfunc global IGPMGPO_get_UserSysvolVersionNumber 16 sptr #comfunc global IGPMGPO_get_ComputerSysvolVersionNumber 17 sptr #comfunc global IGPMGPO_GetWMIFilter 18 sptr #comfunc global IGPMGPO_SetWMIFilter 19 sptr #comfunc global IGPMGPO_SetUserEnabled 20 int #comfunc global IGPMGPO_SetComputerEnabled 21 int #comfunc global IGPMGPO_IsUserEnabled 22 sptr #comfunc global IGPMGPO_IsComputerEnabled 23 sptr #comfunc global IGPMGPO_GetSecurityInfo 24 sptr #comfunc global IGPMGPO_SetSecurityInfo 25 sptr #comfunc global IGPMGPO_Delete 26 #comfunc global IGPMGPO_Backup 27 wstr,wstr,sptr,sptr,sptr #comfunc global IGPMGPO_Import 28 int,sptr,sptr,sptr,sptr,sptr #comfunc global IGPMGPO_GenerateReport 29 int,sptr,sptr,sptr #comfunc global IGPMGPO_GenerateReportToFile 30 int,wstr,sptr #comfunc global IGPMGPO_CopyTo 31 int,sptr,sptr,sptr,sptr,sptr,sptr #comfunc global IGPMGPO_SetSecurityDescriptor 32 int,sptr #comfunc global IGPMGPO_GetSecurityDescriptor 33 int,sptr #comfunc global IGPMGPO_IsACLConsistent 34 sptr #comfunc global IGPMGPO_MakeACLConsistent 35 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。