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

IGroupPolicyObject

COM
IIDea502723-a23d-11d1-a7d3-0000f87571e3継承元IUnknown自前メソッド開始 vtbl3

メソッド 18

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT New(LPWSTR pszDomainName, LPWSTR pszDisplayName, DWORD dwFlags)
pszDomainNameLPWSTRinGPO を作成するドメインの名前を指定する。
pszDisplayNameLPWSTRinoptional新しい GPO に付与する表示名を指定する。
dwFlagsDWORDinGPO の作成動作を制御するフラグを指定する。
vtbl 4 HRESULT OpenDSGPO(LPWSTR pszPath, GPO_OPEN_FLAGS dwFlags)
pszPathLPWSTRin開くディレクトリサービス上の GPO へのパスを指定する。
dwFlagsGPO_OPEN_FLAGSinGPO を開く際の動作を制御する GPO_OPEN_FLAGS を指定する。
vtbl 5 HRESULT OpenLocalMachineGPO(GPO_OPEN_FLAGS dwFlags)
dwFlagsGPO_OPEN_FLAGSinローカルコンピューターの GPO を開く際の動作を制御する GPO_OPEN_FLAGS を指定する。
vtbl 6 HRESULT OpenRemoteMachineGPO(LPWSTR pszComputerName, GPO_OPEN_FLAGS dwFlags)
pszComputerNameLPWSTRinGPO を開く対象となるリモートコンピューターの名前を指定する。
dwFlagsGPO_OPEN_FLAGSinリモートコンピューターの GPO を開く際の動作を制御する GPO_OPEN_FLAGS を指定する。
vtbl 7 HRESULT Save(BOOL bMachine, BOOL bAdd, GUID* pGuidExtension, GUID* pGuid)
bMachineBOOLin保存対象がコンピューター構成 (TRUE) かユーザー構成 (FALSE) かを指定する。
bAddBOOLin拡張機能を追加する場合は TRUE、削除する場合は FALSE を指定する。
pGuidExtensionGUID*inout保存に関連するクライアント側拡張機能の GUID へのポインタである。
pGuidGUID*inout変更を行ったスナップインまたは呼び出し元を識別する GUID へのポインタである。
vtbl 8 HRESULT Delete()
vtbl 9 HRESULT GetName(LPWSTR pszName, INT cchMaxLength)
pszNameLPWSTRoutGPO の一意な名前 (GUID) を受け取るバッファである。
cchMaxLengthINTinバッファ pszName が格納できる最大文字数を指定する。
vtbl 10 HRESULT GetDisplayName(LPWSTR pszName, INT cchMaxLength)
pszNameLPWSTRoutGPO の表示名を受け取るバッファである。
cchMaxLengthINTinバッファ pszName が格納できる最大文字数を指定する。
vtbl 11 HRESULT SetDisplayName(LPWSTR pszName)
pszNameLPWSTRinGPO に設定する新しい表示名を指定する。
vtbl 12 HRESULT GetPath(LPWSTR pszPath, INT cchMaxLength)
pszPathLPWSTRoutGPO の完全パスを受け取るバッファである。
cchMaxLengthINTinバッファ pszPath が格納できる最大文字数を指定する。
vtbl 13 HRESULT GetDSPath(DWORD dwSection, LPWSTR pszPath, INT cchMaxPath)
dwSectionDWORDin対象とする構成セクション (コンピューターまたはユーザー) を指定する。
pszPathLPWSTRoutディレクトリサービス (DS) 上のパスを受け取るバッファである。
cchMaxPathINTinバッファ pszPath が格納できる最大文字数を指定する。
vtbl 14 HRESULT GetFileSysPath(DWORD dwSection, LPWSTR pszPath, INT cchMaxPath)
dwSectionDWORDin対象とする構成セクション (コンピューターまたはユーザー) を指定する。
pszPathLPWSTRoutGPO のファイルシステム上のパスを受け取るバッファである。
cchMaxPathINTinバッファ pszPath が格納できる最大文字数を指定する。
vtbl 15 HRESULT GetRegistryKey(GPO_SECTION dwSection, HKEY* hKey)
dwSectionGPO_SECTIONin対象とする構成セクションを表す GPO_SECTION 値を指定する。
hKeyHKEY*inout指定セクションのレジストリポリシーキーへのハンドルを受け取る。
vtbl 16 HRESULT GetOptions(GPO_OPTIONS* dwOptions)
dwOptionsGPO_OPTIONS*inoutGPO のオプションを表す GPO_OPTIONS 値を受け取る。
vtbl 17 HRESULT SetOptions(GPO_OPTIONS dwOptions, DWORD dwMask)
dwOptionsGPO_OPTIONSin設定する GPO のオプションを表す GPO_OPTIONS 値を指定する。
dwMaskDWORDin変更対象とするオプションビットを示すマスクを指定する。
vtbl 18 HRESULT GetType(GROUP_POLICY_OBJECT_TYPE* gpoType)
gpoTypeGROUP_POLICY_OBJECT_TYPE*inoutGPO の種別を表す GROUP_POLICY_OBJECT_TYPE 値を受け取る。
vtbl 19 HRESULT GetMachineName(LPWSTR pszName, INT cchMaxLength)
pszNameLPWSTRoutGPO が対象とするコンピューター名を受け取るバッファである。
cchMaxLengthINTinバッファ pszName が格納できる最大文字数を指定する。
vtbl 20 HRESULT GetPropertySheetPages(HPROPSHEETPAGE** hPages, DWORD* uPageCount)
hPagesHPROPSHEETPAGE**inoutプロパティシートページのハンドル配列を受け取るポインタである。配列は呼び出し側で解放する。
uPageCountDWORD*inout返されたプロパティシートページの数を受け取る。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IGroupPolicyObject "{EA502723-A23D-11D1-A7D3-0000F87571E3}"
#usecom global IGroupPolicyObject IID_IGroupPolicyObject "{EA502722-A23D-11D1-A7D3-0000F87571E3}"
#comfunc global IGroupPolicyObject_New                    3 wstr,wstr,int
#comfunc global IGroupPolicyObject_OpenDSGPO              4 wstr,int
#comfunc global IGroupPolicyObject_OpenLocalMachineGPO    5 int
#comfunc global IGroupPolicyObject_OpenRemoteMachineGPO   6 wstr,int
#comfunc global IGroupPolicyObject_Save                   7 int,int,var,var
#comfunc global IGroupPolicyObject_Delete                 8
#comfunc global IGroupPolicyObject_GetName                9 var,int
#comfunc global IGroupPolicyObject_GetDisplayName         10 var,int
#comfunc global IGroupPolicyObject_SetDisplayName         11 wstr
#comfunc global IGroupPolicyObject_GetPath                12 var,int
#comfunc global IGroupPolicyObject_GetDSPath              13 int,var,int
#comfunc global IGroupPolicyObject_GetFileSysPath         14 int,var,int
#comfunc global IGroupPolicyObject_GetRegistryKey         15 int,sptr
#comfunc global IGroupPolicyObject_GetOptions             16 var
#comfunc global IGroupPolicyObject_SetOptions             17 int,int
#comfunc global IGroupPolicyObject_GetType                18 var
#comfunc global IGroupPolicyObject_GetMachineName         19 var,int
#comfunc global IGroupPolicyObject_GetPropertySheetPages  20 sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。