IGPMGPO
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IGPMGPO インターフェイスは、ディレクトリサービス内のグループポリシーオブジェクト (GPO) を管理するためのメソッドを提供します。
メソッド 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 側バージョン番号を受け取るポインタである。 |
グループポリシーオブジェクト (GPO) にリンクされている GPMWMIFilter オブジェクトを取得します。
| ppIGPMWMIFilter | IGPMWMIFilter** | out | IGPMWMIFilter インターフェイスへのポインターのアドレス。 |
戻り値
C++
成功した場合は S_OK を返します。GPO に WMI フィルターがリンクされていない場合は S_FALSE を返します。エラーが発生した場合は失敗コードを返します。JScript
GPO が WMI フィルターにリンクされている場合、このメソッドは GPMWMIFilter オブジェクトへの参照を返します。GPO が WMI フィルターにリンクされていない場合は、null 参照を返します。VB
GPO が WMI フィルターにリンクされている場合、このメソッドは GPMWMIFilter オブジェクトへの参照を返します。GPO が WMI フィルターにリンクされていない場合は、null 参照を返します。GPMWMIFilter オブジェクトを現在のグループポリシーオブジェクト (GPO) にリンクします。このメソッドは、既存の WMI フィルターを GPO からリンク解除するためにも使用できます。
| pIGPMWMIFilter | IGPMWMIFilter* | in | 現在の GPO に関連付ける WMI フィルターへのポインター。このパラメーターに NULL を渡すと、既存の WMI フィルターのリンクが解除されます。 |
戻り値
GPO 内のユーザー設定を有効または無効にします。
| vbEnabled | VARIANT_BOOL | in | GPO 内のユーザー設定を有効にするかどうかを指定します。 C++: VARIANT_TRUE の場合、設定を有効にします。それ以外の場合は無効にします。 スクリプト: true の場合、設定を有効にします。それ以外の場合は無効にします。 |
戻り値
GPO 内のコンピューター設定を有効または無効にします。
| vbEnabled | VARIANT_BOOL | in | GPO 内のコンピューター設定を有効にするかどうかを指定します。 C++: VARIANT_TRUE の場合、設定を有効にします。それ以外の場合は無効にします。 スクリプト: true の場合、設定を有効にします。それ以外の場合は無効にします。 |
戻り値
GPO 内のユーザーポリシーが有効かどうかを確認します。
| pvbEnabled | VARIANT_BOOL* | out | GPO 内のユーザーポリシーが有効かどうかを示す値。VARIANT_TRUE の場合、有効です。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPO 内のユーザーポリシーが有効かどうかを示す値。VARIANT_TRUE の場合、有効です。VB
GPO 内のユーザーポリシーが有効かどうかを示す値。VARIANT_TRUE の場合、有効です。GPO 内のコンピューターポリシーが有効かどうかを確認します。
| pvbEnabled | VARIANT_BOOL* | out | GPO 内のコンピューターポリシーが有効かどうかを示す値。VARIANT_TRUE の場合、有効です。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPO 内のコンピューターポリシーが有効かどうかを示す値。VARIANT_TRUE の場合、有効です。VB
GPO 内のコンピューターポリシーが有効かどうかを示す値。VARIANT_TRUE の場合、有効です。GPO に対する一連のアクセス許可 (編集を許可されている対象など) を取得します。
| ppSecurityInfo | IGPMSecurityInfo** | out | IGPMSecurityInfo インターフェイスへのポインターのアドレス。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPMSecurityInfo オブジェクトへの参照を返します。VB
GPMSecurityInfo オブジェクトへの参照を返します。解説(Remarks)
ポリシー関連のアクセス許可の詳細については、 IGPM::CreatePermission を参照してください。
グループポリシーオブジェクト (GPO) に対するアクセス許可の一覧 (編集を許可されている対象など) を設定します。このメソッドは既存のアクセス許可一覧を置き換えます。
| pSecurityInfo | IGPMSecurityInfo* | in | GPO に適用するセキュリティ情報へのポインター。 |
戻り値
解説(Remarks)
ポリシー関連のアクセス許可の詳細については、 IGPM::CreatePermission を参照してください。
グループポリシーオブジェクト (GPO) を、ディレクトリサービスおよびシステムボリュームフォルダー (SYSVOL) から削除します。
戻り値
解説(Remarks)
このメソッドは GPO のリンクを削除しません。GPO のリンクを削除するには、 IGPMGPOLink::Delete メソッドを呼び出してください。
グループポリシーオブジェクト (GPO) を指定したディレクトリにバックアップします。
| bstrBackupDir | LPWSTR | in | GPMBackup オブジェクトを格納するファイルシステムディレクトリの名前。このディレクトリはあらかじめ存在している必要があります。 |
| bstrComment | LPWSTR | in | GPMBackup オブジェクトに関連付けるコメント。 |
| pvarGPMProgress | VARIANT* | in | バックアップ操作の進行状況に関する状態通知をクライアントが受け取れるようにする IGPMAsyncProgress インターフェイスへのポインターを指定します。このパラメーターが NULL の場合、メソッドは同期的に実行されます。NULL でない場合は非同期的に実行されます。クライアントが非同期通知を受け取らない場合、このパラメーターは NULL でなければなりません。 |
| pvarGPMCancel | VARIANT* | out | バックアップ操作をキャンセルするためにクライアントが使用できる IGPMAsyncCancel インターフェイスへのポインターを受け取ります。pvarGPMProgress が NULL の場合、このパラメーターは返されません。 |
| ppIGPMResult | IGPMResult** | out | バックアップ操作の結果を表す IGPMResult インターフェイスへのポインターのアドレス。このインターフェイスには、 IGPMBackup インターフェイスおよび IGPMStatusMsgCollection インターフェイスへのポインターが含まれます。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPMResult オブジェクトへの参照を返します。VB
GPMResult オブジェクトへの参照を返します。解説(Remarks)
バックアップ (エクスポートとも呼ばれます) された GPO は、目的に応じて IGPMDomain::RestoreGPO メソッドを呼び出して Active Directory に復元するか、 IGPMGPO::Import メソッドを使用して既存の別の GPO にインポートできます。
操作が成功したかどうかを判断するには、このメソッドが返すコードに加えて、 IGPMResult::OverallStatus メソッドが返すコードも確認する必要があります。 OverallStatus は操作全体の状態コードを返します。操作中にエラーが発生しなかった場合は成功コードを返し、それ以外の場合は失敗コードを返します。
指定した GPMBackup オブジェクトからポリシー設定をインポートします。
| lFlags | INT | in | セキュリティプリンシパルとパスのマッピングに使用するオプションを指定します。定義されているオプションは次のとおりです。詳細については、 Copying and Importing GPOs Across Domains を参照してください。 0移行テーブルが指定されている場合、それに従ってセキュリティプリンシパルと UNC パスをマップします。セキュリティプリンシパルまたは UNC パスに対応するエントリがない場合は、そのセキュリティプリンシパルまたは UNC パスを含む設定をそのまま維持します。GPO およびソフトウェアインストールパッケージオブジェクトのセキュリティはコピーしません。これがこのパラメーターの既定値です。 GPM_MIGRATIONTABLE_ONLY移行テーブルで指定された情報のみを使用して、セキュリティプリンシパルと UNC パスをマップします。移行テーブルでマップできない設定が見つかった場合、このメソッドは失敗し、エラーコードを返します。 |
| pIGPMBackup | IGPMBackup* | in | 設定のインポート元となる GPMBackup オブジェクトへのポインター。 |
| pvarMigrationTable | VARIANT* | in | マッピングに使用する IGPMMigrationTable へのポインター。このパラメーターは NULL でもかまいません。 |
| pvarGPMProgress | VARIANT* | in | インポート操作の進行状況に関する状態通知をクライアントが受け取れるようにする IGPMAsyncProgress インターフェイスへのポインターを指定します。クライアントが非同期通知を受け取らない場合、このパラメーターは NULL でなければなりません。 |
| pvarGPMCancel | VARIANT* | out | インポート操作をキャンセルするためにクライアントが使用できる IGPMAsyncCancel インターフェイスへのポインターを受け取ります。pvarGPMProgress が NULL の場合、このパラメーターは返されません。 |
| ppIGPMResult | IGPMResult** | out | インポート操作の結果を表す IGPMResult インターフェイスへのポインターのアドレス。このインターフェイスには、 IGPMStatusMsgCollection インターフェイスおよび IGPMGPO インターフェイスへのポインターが含まれます。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPMResult オブジェクトへの参照を返します。VB
GPMResult オブジェクトへの参照を返します。解説(Remarks)
インポート操作はポリシー設定のみを転送し、GPO 内の既存の設定を消去します。インポートでは、GPO ID や転送先 GPO の ACL は変更されません。また、転送先 GPO や関連付けられた WMI フィルターを指すリンクも変更されません。
セキュリティグループの詳細については、Active Directory プログラマーズガイドの How Security Groups are Used in Access Control を参照してください。
GPO のレポートを取得します。
| gpmReportType | GPMReportType | in | レポートを XML と HTML のどちらで出力するかを指定します。 |
| pvarGPMProgress | VARIANT* | in | コピー操作の進行状況に関する状態通知をクライアントが受け取れるようにする IGPMAsyncProgress インターフェイスへのポインター。NULL でない場合、GenerateReport の呼び出しは非同期的に処理され、pvarGPMCancel が IGPMAsyncCancel インターフェイスへのポインターを受け取ります。このパラメーターが NULL の場合、GenerateReport の呼び出しは同期的に処理されます。クライアントが非同期通知を受け取らない場合、pvarGPMProgress パラメーターは NULL でなければなりません。 |
| pvarGPMCancel | VARIANT* | out | コピー操作をキャンセルするためにクライアントが使用できる IGPMAsyncCancel インターフェイスへのポインターを受け取ります。pvarGPMProgress が NULL の場合、このパラメーターは返されません。 |
| ppIGPMResult | IGPMResult** | out | IGPMResult インターフェイスへのポインター。Result プロパティには XML または HTML のバイナリ文字列が格納されます。Status プロパティには IGPMStatusMsgCollection インターフェイスへの参照が格納されます。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPMResult オブジェクトへの参照を返します。VB
GPMResult オブジェクトへの参照を返します。GPO のレポートを取得し、指定したパスのファイルに保存します。
| gpmReportType | GPMReportType | in | レポートを XML と HTML のどちらで出力するかを指定します。 |
| bstrTargetFilePath | LPWSTR | in | レポートの保存先ファイルのパスを格納したバイナリ文字列。null 終端文字列を使用してください。 |
| ppIGPMResult | IGPMResult** | out | IGPMResult インターフェイスへのポインター。Status プロパティには IGPMStatusMsgCollection への参照が格納されます。 注 IGPMResult インターフェイスの Result プロパティの値は不定であり、依存しないでください。
|
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPMResult オブジェクトへの参照を返します。VB
GPMResult オブジェクトへの参照を返します。現在のグループポリシーオブジェクト (GPO) を指定したドメインにコピーし、コピーされた GPO へのポインターを返します。
| lFlags | INT | in | セキュリティプリンシパルとパスのマッピングに使用するオプションを指定します。詳細については、 Copying and Importing GPOs Across Domains を参照してください。 定義されているオプションは次のとおりです。 0移行テーブルが指定されている場合、それに従ってセキュリティプリンシパルと UNC (Universal Naming Convention) パスをマップします。セキュリティプリンシパルまたは UNC パスに対応するエントリがない場合は、そのセキュリティプリンシパルまたは UNC パスを含む設定をそのまま維持します。GPO およびソフトウェアインストールパッケージオブジェクトのセキュリティはコピーしません。これがこのパラメーターの既定値です。 GPM_MIGRATIONTABLE_ONLY移行テーブルで指定された情報のみを使用して、セキュリティプリンシパルと UNC パスをマップします。移行テーブルでマップできない設定が見つかった場合、このメソッドは失敗し、エラーコードを返します。 GPM_PROCESS_SECURITYGPO 上の指定されたアクセス許可 (DACL) をコピーします。 |
| pIGPMDomain | IGPMDomain* | in | GPO のコピー先となるドメイン。 |
| pvarNewDisplayName | VARIANT* | in | コピーされた GPO の表示名。VARIANT 構造体に BSTR が含まれていない場合、または pvarNewDisplayName パラメーターが NULL の場合は、表示名が自動的に割り当てられます。 |
| pvarMigrationTable | VARIANT* | in | マッピングに使用する IGPMMigrationTable インターフェイスへのポインター。このパラメーターは NULL でもかまいません。 |
| pvarGPMProgress | VARIANT* | in | IGPMAsyncProgress インターフェイスへのポインターを指定します。このインターフェイスにより、クライアントはコピー操作の進行状況に関する状態通知を受け取ることができます。クライアントが非同期通知を受け取らない場合、このパラメーターは NULL でなければなりません。 |
| pvarGPMCancel | VARIANT* | out | コピー操作をキャンセルするためにクライアントが使用できる IGPMAsyncCancel インターフェイスへのポインターを受け取ります。pvarGPMProgress が NULL の場合、このパラメーターは返されません。 |
| ppIGPMResult | IGPMResult** | out | コピー操作の結果を表す IGPMResult インターフェイスへのポインターのアドレス。このインターフェイスには、 IGPMGPO インターフェイスおよび IGPMStatusMsgCollection インターフェイスへのポインターが含まれます。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
GPMResult オブジェクトへの参照を返します。VB
GPMResult オブジェクトへの参照を返します。解説(Remarks)
コピー操作はリンクを転送しないため、このメソッドで作成される新しい GPO はリンクされていない状態になります。
操作が成功したかどうかを判断するには、このメソッドが返すコードに加えて、 IGPMResult::OverallStatus メソッドが返すコードも確認する必要があります。 OverallStatus は操作全体の状態コードを返します。操作中にエラーが発生しなかった場合は成功コードを返し、それ以外の場合は失敗コードを返します。
インポート操作はコピー操作と似ていますが、インポート操作ではコピー元の GPO がファイルシステム上に存在し、コピー先が Active Directory 内の既存の GPO でなければならない点が異なります。これに対しコピー操作では、コピー元の GPO は Active Directory 内に存在する必要があり、コピー操作によって新しいコピー先 GPO が作成されます。インポート操作はポリシー設定のみを転送します。インポート操作では、GPO ID や転送先 GPO の ACL は変更されません。また、転送先 GPO や関連付けられた WMI (Windows Management Instrumentation) フィルターを指すリンクも変更されません。GPO のインポートの詳細については、 IGPMGPO::Import を参照してください。
セキュリティグループの詳細については、Active Directory プログラマーズガイドの How Security Groups are Used in Access Control を参照してください。
GPO のセキュリティ記述子を設定します。このメソッドは既存のセキュリティ記述子を置き換えます。
| lFlags | INT | in | 一連のビットフラグを指定します。このパラメーターを使用して、設定するセキュリティ記述子の部分を指定します。 OWNER_SECURITY_INFORMATION (1)オブジェクトの所有者識別子。 GROUP_SECURITY_INFORMATION (2)プライマリグループ識別子。 DACL_SECURITY_INFORMATION (4)オブジェクトの任意 ACL (DACL)。 SACL_SECURITY_INFORMATION (8)オブジェクトのシステム ACL (SACL)。 |
| pSD | IDispatch* | in | 設定するセキュリティ記述子。 |
戻り値
解説(Remarks)
ACL および Windows オブジェクトへのアクセスを制御するセキュリティモデルの詳細については、 Access Control のトピックを参照してください。
グループポリシーオブジェクト (GPO) のセキュリティ記述子を取得できる IDispatch インターフェイスへのポインターを取得します。スクリプト開発者向けには、このメソッドは IADsSecurityDescriptor オブジェクトへの参照を返します。
| lFlags | INT | in | 一連のビットフラグを指定します。このパラメーターを使用して、取得するセキュリティ記述子の部分を指定します。有効な値は次のとおりです。 OWNER_SECURITY_INFORMATION (1)オブジェクトの所有者識別子。 GROUP_SECURITY_INFORMATION (2)プライマリグループ識別子。 DACL_SECURITY_INFORMATION (4)オブジェクトの任意アクセス制御リスト (DACL)。 SACL_SECURITY_INFORMATION (8)オブジェクトのシステムアクセス制御リスト (ACL)。 |
| ppSD | IDispatch** | out | IDispatch インターフェイスへのポインターのアドレス。IUnknown::QueryInterface メソッドを呼び出すことで、GPO のセキュリティ記述子上の IADsSecurityDescriptor インターフェイスへのポインターを取得できます。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合は失敗コードを返します。JScript
IADsSecurityDescriptor オブジェクトへの参照を返します。
VB
IADsSecurityDescriptor オブジェクトへの参照を返します。
解説(Remarks)
セキュリティ記述子、ACL、および Windows ベースのオブジェクトへのアクセスを制御するセキュリティモデルの詳細については、Access Control を参照してください。
ディレクトリサービスとシステムボリュームフォルダー (SysVol) の間で ACL の整合性を確認します。
| pvbConsistent | VARIANT_BOOL* | out | GPO の各部分の アクセス制御リスト (ACL) が整合しているかどうかを示す値。VARIANT_TRUE の場合、整合しています。 |
戻り値
C++
成功した場合は S_OK を返します。エラーが発生した場合、または ACL が整合していない場合は失敗コードを返します。JScript
ACL が整合しているかどうかを示す値。VARIANT_TRUE の場合、整合しています。詳細については、以下の解説セクションを参照してください。VB
ACL が整合しているかどうかを示す値。VARIANT_TRUE の場合、整合しています。詳細については、以下の解説セクションを参照してください。解説(Remarks)
ACL および Windows オブジェクトへのアクセスを制御するセキュリティモデルの詳細については、Access Control を参照してください。
GPO のディレクトリサービスとシステムボリュームフォルダー (SysVol) の ACL を整合させます。ディレクトリサービスとシステムボリュームフォルダー (SysVol) の間で ACL の整合性を確認するには、IsACLConsistent を使用できます。
戻り値
解説(Remarks)
ACL および Windows オブジェクトへのアクセスを制御するセキュリティモデルの詳細については、Access Control を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 不要)。