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

IGPMDomain2

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID7ca6bb8b-f1eb-490a-938d-3c4e51c768e6継承元IGPMDomain呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl17

公式ドキュメント

特定のドメインを表し、Group Policy Management Console (GPMC) インターフェイスを使用する際に、管理スコープ (SOM) オブジェクトの照会、スターター GPO の作成・復元・照会、および WMI フィルターの作成・照会を行うメソッドを提供します。

メソッド 6

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

vtbl 17 HRESULT CreateStarterGPO(IGPMStarterGPO** ppnewTemplate)

GPMStarterGPO オブジェクトを作成して取得します。

ppnewTemplateIGPMStarterGPO**outGPMStarterGPO インターフェイスへのポインターのアドレス。

戻り値

C++

成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。

JScript

GPMStarterGPO オブジェクトへの参照を返します。

VB

GPMStarterGPO オブジェクトへの参照を返します。
vtbl 18 HRESULT CreateGPOFromStarterGPO(IGPMStarterGPO* pGPOTemplate, IGPMGPO** ppnewGPO)

GPMStarterGPO オブジェクトから GPMGPO オブジェクトを作成して取得します。

pGPOTemplateIGPMStarterGPO*in新しいグループポリシーオブジェクト (GPO) の作成元となる GPMStarterGPO オブジェクトへのポインター。
ppnewGPOIGPMGPO**out新しい GPO を表す GPMGPO オブジェクトへのポインターのアドレス。

戻り値

C++

成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。

JScript

GPMGPO オブジェクトへの参照を返します。

VB

GPMGPO オブジェクトへの参照を返します。
vtbl 19 HRESULT GetStarterGPO(LPWSTR bstrGuid, IGPMStarterGPO** ppTemplate)

指定したグループポリシーオブジェクト ID を持つ GPMStarterGPO オブジェクトを取得します。

bstrGuidLPWSTRin必須。アクセスする GPO の ID を表す GUID。null 終端文字列を使用します。
ppTemplateIGPMStarterGPO**out指定したスターター GPO の ID に対応する IGPMStarterGPO インターフェイスへのポインターのアドレス。

戻り値

C++

成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。

JScript

GPMStarterGPO オブジェクトへの参照を返します。

VB

GPMStarterGPO オブジェクトへの参照を返します。
vtbl 20 HRESULT SearchStarterGPOs(IGPMSearchCriteria* pIGPMSearchCriteria, IGPMStarterGPOCollection** ppIGPMTemplateCollection)

GPMStarterGPO オブジェクトの検索を実行します。

pIGPMSearchCriteriaIGPMSearchCriteria*in検索に適用する条件へのポインター。
ppIGPMTemplateCollectionIGPMStarterGPOCollection**out検索で見つかった GPO を表す IGPMStarterGPOCollection インターフェイスへのポインターのアドレス。

戻り値

C++

成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。

JScript

GPMStarterGPOCollection オブジェクトへの参照を返します。

VB

GPMStarterGPOCollection オブジェクトへの参照を返します。
vtbl 21 HRESULT LoadStarterGPO(LPWSTR bstrLoadFile, VARIANT_BOOL bOverwrite, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)

スターターグループポリシーオブジェクト (GPO) のキャビネット (CAB) ファイルを開き、ドメインにインポートします。

bstrLoadFileLPWSTRin必須。読み込む CAB ファイルの名前。null 終端文字列を使用します。
bOverwriteVARIANT_BOOLin

既存のバージョンのスターター GPO を上書きするかどうかを指定します。CAB からスターター GPO を読み込むと、その CAB の作成元となった元のスターター GPO の ID が保持されます。そのため、LoadStarterGPO メソッドの呼び出し時に、同じスターター GPO のバージョンが既にドメインに存在している場合があります。

VARIANT_FALSE

既存のスターター GPO を上書きしません。

VARIANT_TRUE

既存のスターター GPO を上書きします。

pvarGPMProgressVARIANT*inコピー操作の進行状況に関するステータス通知をクライアントが受け取れるようにする IGPMAsyncProgress インターフェイスへのポインターを指定します。クライアントが非同期通知を受け取らない場合、このパラメーターは NULL でなければなりません。
pvarGPMCancelVARIANT*outクライアントがコピー操作をキャンセルするために使用できる IGPMAsyncCancel インターフェイスへのポインターを受け取ります。pvarGPMProgressNULL の場合、このパラメーターは返されません。
ppIGPMResultIGPMResult**out読み込み操作の結果を表す IGPMResult インターフェイスへのポインターのアドレス。このインターフェイスは、 IGPMStarterGPO インターフェイスおよび IGPMStatusMsgCollection インターフェイスへのポインターを含みます。

戻り値

C++

成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。

JScript

GPMResult オブジェクトへの参照を返します。

VB

GPMResult オブジェクトへの参照を返します。
vtbl 22 HRESULT RestoreStarterGPO(IGPMStarterGPOBackup* pIGPMTmplBackup, VARIANT* pvarGPMProgress, VARIANT* pvarGPMCancel, IGPMResult** ppIGPMResult)

GPMStarterGPOBackup オブジェクトからスターターグループポリシーオブジェクト (GPO) を復元します。

pIGPMTmplBackupIGPMStarterGPOBackup*in復元する GPMStarterGPOBackup オブジェクトへのポインター。
pvarGPMProgressVARIANT*in復元操作の進行状況に関するステータス通知をクライアントが受け取れるようにする IGPMAsyncProgress インターフェイスへのポインターを指定します。非同期通知を受け取るには、呼び出し元がこのインターフェイスを作成し、そのインターフェイスポインターをこのパラメーターに渡す必要があります。クライアントが非同期通知を受け取らない場合、このパラメーターは NULL でなければなりません。このパラメーターが NULL でない場合、メソッドは非同期に実行され、NULL の場合は同期的に実行されます。
pvarGPMCancelVARIANT*outクライアントが復元操作をキャンセルするために使用できる IGPMAsyncCancel インターフェイスへのポインターを受け取ります。pvarGPMProgressNULL の場合、このパラメーターは返されません。
ppIGPMResultIGPMResult**out復元操作の結果を表す IGPMResult インターフェイスへのポインターのアドレス。このインターフェイスは、 IGPMstarterGPO インターフェイスおよび IGPMStatusMsgCollection インターフェイスへのポインターを含みます。

戻り値

C++

成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。

JScript

GPMResult オブジェクトへの参照を返します。

VB

GPMResult オブジェクトへの参照を返します。

解説(Remarks)

復元操作は、特定の GPO の内容をバックアップ実行時の状態に戻します。

操作が成功したかどうかを判断するには、このメソッドが返すコードに加えて、 IGPMResult::OverallStatus メソッドが返すコードも確認する必要があります。 OverallStatus は操作全体のステータスコードを返します。操作中にエラーが発生しなかった場合は成功コードを返し、それ以外の場合は失敗コードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 不要)。