ホーム › System.Iis › IMSAdminBaseW
IMSAdminBaseW
COMメソッド 31
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 新しく作成するキーのメタベースパスを指定する。 |
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 削除するキーのメタベースパスを指定する。 |
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 子キーを削除する対象キーのメタベースパスを指定する。 |
vtbl 6 HRESULT EnumKeys(DWORD hMDHandle, LPWSTR pszMDPath, LPWSTR pszMDName, DWORD dwMDEnumObjectIndex)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 子キーを列挙する対象キーのメタベースパスを指定する。 |
| pszMDName | LPWSTR | out | 列挙された子キーの名前を受け取るバッファである。 |
| dwMDEnumObjectIndex | DWORD | in | 列挙する子キーの 0 から始まるインデックスを指定する。 |
vtbl 7 HRESULT CopyKey(DWORD hMDSourceHandle, LPWSTR pszMDSourcePath, DWORD hMDDestHandle, LPWSTR pszMDDestPath, BOOL bMDOverwriteFlag, BOOL bMDCopyFlag)
| hMDSourceHandle | DWORD | in | コピー元を開いているメタベースハンドルを指定する。 |
| pszMDSourcePath | LPWSTR | inoptional | コピー元キーのメタベースパスを指定する。 |
| hMDDestHandle | DWORD | in | コピー先を開いているメタベースハンドルを指定する。 |
| pszMDDestPath | LPWSTR | inoptional | コピー先キーのメタベースパスを指定する。 |
| bMDOverwriteFlag | BOOL | in | コピー先が既に存在する場合に上書きするかどうかを指定する。 |
| bMDCopyFlag | BOOL | in | コピー (TRUE) か移動 (FALSE) かを指定する。 |
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 名前を変更するキーのメタベースパスを指定する。 |
| pszMDNewName | LPWSTR | inoptional | キーに設定する新しい名前を指定する。 |
vtbl 9 HRESULT SetData(DWORD hMDHandle, LPWSTR pszMDPath, METADATA_RECORD* pmdrMDData)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | in | データを設定するキーのメタベースパスを指定する。 |
| pmdrMDData | METADATA_RECORD* | inout | 設定するデータの内容を格納した METADATA_RECORD 構造体へのポインタである。 |
vtbl 10 HRESULT GetData(DWORD hMDHandle, LPWSTR pszMDPath, METADATA_RECORD* pmdrMDData, DWORD* pdwMDRequiredDataLen)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | in | データを取得するキーのメタベースパスを指定する。 |
| pmdrMDData | METADATA_RECORD* | inout | 取得条件を指定し、結果のデータを受け取る METADATA_RECORD 構造体へのポインタである。 |
| pdwMDRequiredDataLen | DWORD* | inout | バッファが不足した場合に必要なデータ長 (バイト数) を受け取る。 |
vtbl 11 HRESULT DeleteData(DWORD hMDHandle, LPWSTR pszMDPath, DWORD dwMDIdentifier, DWORD dwMDDataType)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | データを削除するキーのメタベースパスを指定する。 |
| dwMDIdentifier | DWORD | in | 削除するデータを識別する識別子を指定する。 |
| dwMDDataType | DWORD | in | 削除するデータのデータ型を指定する。すべての型を対象とする場合は ALL_METADATA を指定する。 |
vtbl 12 HRESULT EnumData(DWORD hMDHandle, LPWSTR pszMDPath, METADATA_RECORD* pmdrMDData, DWORD dwMDEnumDataIndex, DWORD* pdwMDRequiredDataLen)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | in | データを列挙する対象キーのメタベースパスを指定する。 |
| pmdrMDData | METADATA_RECORD* | inout | 列挙条件を指定し、結果のデータを受け取る METADATA_RECORD 構造体へのポインタである。 |
| dwMDEnumDataIndex | DWORD | in | 列挙するデータの 0 から始まるインデックスを指定する。 |
| pdwMDRequiredDataLen | DWORD* | inout | バッファが不足した場合に必要なデータ長 (バイト数) を受け取る。 |
vtbl 13 HRESULT GetAllData(DWORD hMDHandle, LPWSTR pszMDPath, DWORD dwMDAttributes, DWORD dwMDUserType, DWORD dwMDDataType, DWORD* pdwMDNumDataEntries, DWORD* pdwMDDataSetNumber, DWORD dwMDBufferSize, BYTE* pbMDBuffer, DWORD* pdwMDRequiredBufferSize)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | in | データを取得する対象キーのメタベースパスを指定する。 |
| dwMDAttributes | DWORD | in | 取得対象データの属性を示すフラグを指定する。 |
| dwMDUserType | DWORD | in | 取得対象とするユーザー型を指定する。すべてを対象とする場合は ALL_METADATA を指定する。 |
| dwMDDataType | DWORD | in | 取得対象とするデータ型を指定する。すべてを対象とする場合は ALL_METADATA を指定する。 |
| pdwMDNumDataEntries | DWORD* | inout | 取得されたデータエントリの数を受け取る。 |
| pdwMDDataSetNumber | DWORD* | inout | 取得されたデータセットの番号を受け取る。 |
| dwMDBufferSize | DWORD | in | 出力バッファ pbMDBuffer のサイズ (バイト数) を指定する。 |
| pbMDBuffer | BYTE* | inout | 取得したすべてのデータを受け取るバッファである。 |
| pdwMDRequiredBufferSize | DWORD* | inout | バッファが不足した場合に必要なバッファサイズ (バイト数) を受け取る。 |
vtbl 14 HRESULT DeleteAllData(DWORD hMDHandle, LPWSTR pszMDPath, DWORD dwMDUserType, DWORD dwMDDataType)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | データを削除する対象キーのメタベースパスを指定する。 |
| dwMDUserType | DWORD | in | 削除対象とするユーザー型を指定する。すべてを対象とする場合は ALL_METADATA を指定する。 |
| dwMDDataType | DWORD | in | 削除対象とするデータ型を指定する。すべてを対象とする場合は ALL_METADATA を指定する。 |
vtbl 15 HRESULT CopyData(DWORD hMDSourceHandle, LPWSTR pszMDSourcePath, DWORD hMDDestHandle, LPWSTR pszMDDestPath, DWORD dwMDAttributes, DWORD dwMDUserType, DWORD dwMDDataType, BOOL bMDCopyFlag)
| hMDSourceHandle | DWORD | in | コピー元を開いているメタベースハンドルを指定する。 |
| pszMDSourcePath | LPWSTR | inoptional | コピー元キーのメタベースパスを指定する。 |
| hMDDestHandle | DWORD | in | コピー先を開いているメタベースハンドルを指定する。 |
| pszMDDestPath | LPWSTR | inoptional | コピー先キーのメタベースパスを指定する。 |
| dwMDAttributes | DWORD | in | コピー対象データの属性を示すフラグを指定する。 |
| dwMDUserType | DWORD | in | コピー対象とするユーザー型を指定する。すべてを対象とする場合は ALL_METADATA を指定する。 |
| dwMDDataType | DWORD | in | コピー対象とするデータ型を指定する。すべてを対象とする場合は ALL_METADATA を指定する。 |
| bMDCopyFlag | BOOL | in | コピー (TRUE) か移動 (FALSE) かを指定する。 |
vtbl 16 HRESULT GetDataPaths(DWORD hMDHandle, LPWSTR pszMDPath, DWORD dwMDIdentifier, DWORD dwMDDataType, DWORD dwMDBufferSize, LPWSTR pszBuffer, DWORD* pdwMDRequiredBufferSize)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 検索の起点となるキーのメタベースパスを指定する。 |
| dwMDIdentifier | DWORD | in | 検索対象のデータを識別する識別子を指定する。 |
| dwMDDataType | DWORD | in | 検索対象のデータ型を指定する。 |
| dwMDBufferSize | DWORD | in | 出力バッファ pszBuffer のサイズ (文字数) を指定する。 |
| pszBuffer | LPWSTR | out | 指定データを含むキーのパス一覧を受け取るバッファである。 |
| pdwMDRequiredBufferSize | DWORD* | out | バッファが不足した場合に必要なバッファサイズを受け取る。 |
vtbl 17 HRESULT OpenKey(DWORD hMDHandle, LPWSTR pszMDPath, DWORD dwMDAccessRequested, DWORD dwMDTimeOut, DWORD* phMDNewHandle)
| hMDHandle | DWORD | in | 起点となるメタベースハンドルを指定する。最上位の場合は METADATA_MASTER_ROOT_HANDLE を指定する。 |
| pszMDPath | LPWSTR | inoptional | 開くキーのメタベースパスを指定する。 |
| dwMDAccessRequested | DWORD | in | 要求するアクセス権 (読み取り/書き込み) を指定する。 |
| dwMDTimeOut | DWORD | in | ハンドル取得を待機する最大時間 (ミリ秒) を指定する。 |
| phMDNewHandle | DWORD* | out | 開いたキーの新しいメタベースハンドルを受け取る。 |
| hMDHandle | DWORD | in | 閉じる対象のメタベースハンドルを指定する。 |
| hMDHandle | DWORD | in | アクセス権を変更する対象のメタベースハンドルを指定する。 |
| dwMDTimeOut | DWORD | in | 操作を待機する最大時間 (ミリ秒) を指定する。 |
| dwMDAccessRequested | DWORD | in | 新たに要求するアクセス権を指定する。 |
vtbl 20 HRESULT SaveData()
vtbl 21 HRESULT GetHandleInfo(DWORD hMDHandle, METADATA_HANDLE_INFO* pmdhiInfo)
| hMDHandle | DWORD | in | 情報を取得する対象のメタベースハンドルを指定する。 |
| pmdhiInfo | METADATA_HANDLE_INFO* | out | ハンドルの情報を受け取る METADATA_HANDLE_INFO 構造体へのポインタである。 |
| pdwSystemChangeNumber | DWORD* | out | メタベースの現在のシステム変更番号を受け取る。 |
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | データセット番号を取得する対象キーのメタベースパスを指定する。 |
| pdwMDDataSetNumber | DWORD* | out | 対象キーのデータセット番号を受け取る。 |
vtbl 24 HRESULT SetLastChangeTime(DWORD hMDHandle, LPWSTR pszMDPath, FILETIME* pftMDLastChangeTime, BOOL bLocalTime)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 最終変更時刻を設定する対象キーのメタベースパスを指定する。 |
| pftMDLastChangeTime | FILETIME* | in | 設定する最終変更時刻を表す FILETIME 構造体へのポインタである。 |
| bLocalTime | BOOL | in | 指定時刻がローカル時刻 (TRUE) か UTC (FALSE) かを指定する。 |
vtbl 25 HRESULT GetLastChangeTime(DWORD hMDHandle, LPWSTR pszMDPath, FILETIME* pftMDLastChangeTime, BOOL bLocalTime)
| hMDHandle | DWORD | in | 操作対象を開いているメタベースハンドルを指定する。 |
| pszMDPath | LPWSTR | inoptional | 最終変更時刻を取得する対象キーのメタベースパスを指定する。 |
| pftMDLastChangeTime | FILETIME* | out | 対象キーの最終変更時刻を受け取る FILETIME 構造体へのポインタである。 |
| bLocalTime | BOOL | in | 時刻をローカル時刻 (TRUE) で受け取るか UTC (FALSE) で受け取るかを指定する。 |
vtbl 26 HRESULT KeyExchangePhase1()
vtbl 27 HRESULT KeyExchangePhase2()
| pszMDBackupLocation | LPWSTR | inoptional | バックアップの保存先となる場所 (バックアップ名) を指定する。 |
| dwMDVersion | DWORD | in | バックアップのバージョン番号を指定する。次に利用可能な番号を使う場合は MD_BACKUP_NEXT_VERSION を指定する。 |
| dwMDFlags | DWORD | in | バックアップ動作を制御するフラグを指定する。 |
| pszMDBackupLocation | LPWSTR | inoptional | 復元元となるバックアップの場所 (バックアップ名) を指定する。 |
| dwMDVersion | DWORD | in | 復元するバックアップのバージョン番号を指定する。 |
| dwMDFlags | DWORD | in | 復元動作を制御するフラグを指定する。 |
vtbl 30 HRESULT EnumBackups(LPWSTR pszMDBackupLocation, DWORD* pdwMDVersion, FILETIME* pftMDBackupTime, DWORD dwMDEnumIndex)
| pszMDBackupLocation | LPWSTR | inout | 列挙対象のバックアップ場所 (バックアップ名) を指定する。すべてを列挙する場合は空文字列を指定する。 |
| pdwMDVersion | DWORD* | out | 列挙されたバックアップのバージョン番号を受け取る。 |
| pftMDBackupTime | FILETIME* | out | 列挙されたバックアップの作成時刻を受け取る FILETIME 構造体へのポインタである。 |
| dwMDEnumIndex | DWORD | in | 列挙するバックアップの 0 から始まるインデックスを指定する。 |
| pszMDBackupLocation | LPWSTR | inoptional | 削除するバックアップの場所 (バックアップ名) を指定する。 |
| dwMDVersion | DWORD | in | 削除するバックアップのバージョン番号を指定する。 |
vtbl 32 HRESULT UnmarshalInterface(IMSAdminBaseW** piadmbwInterface)
| piadmbwInterface | IMSAdminBaseW** | out | アンマーシャルされた IMSAdminBaseW インターフェイスポインタを受け取るポインタである。 |
vtbl 33 HRESULT GetServerGuid()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMSAdminBaseW "{70B51430-B6CA-11D0-B9B9-00A0C922E750}" #usecom global IMSAdminBaseW IID_IMSAdminBaseW "{}" #comfunc global IMSAdminBaseW_AddKey 3 int,wstr #comfunc global IMSAdminBaseW_DeleteKey 4 int,wstr #comfunc global IMSAdminBaseW_DeleteChildKeys 5 int,wstr #comfunc global IMSAdminBaseW_EnumKeys 6 int,wstr,var,int #comfunc global IMSAdminBaseW_CopyKey 7 int,wstr,int,wstr,int,int #comfunc global IMSAdminBaseW_RenameKey 8 int,wstr,wstr #comfunc global IMSAdminBaseW_SetData 9 int,wstr,var #comfunc global IMSAdminBaseW_GetData 10 int,wstr,var,var #comfunc global IMSAdminBaseW_DeleteData 11 int,wstr,int,int #comfunc global IMSAdminBaseW_EnumData 12 int,wstr,var,int,var #comfunc global IMSAdminBaseW_GetAllData 13 int,wstr,int,int,int,var,var,int,var,var #comfunc global IMSAdminBaseW_DeleteAllData 14 int,wstr,int,int #comfunc global IMSAdminBaseW_CopyData 15 int,wstr,int,wstr,int,int,int,int #comfunc global IMSAdminBaseW_GetDataPaths 16 int,wstr,int,int,int,var,var #comfunc global IMSAdminBaseW_OpenKey 17 int,wstr,int,int,var #comfunc global IMSAdminBaseW_CloseKey 18 int #comfunc global IMSAdminBaseW_ChangePermissions 19 int,int,int #comfunc global IMSAdminBaseW_SaveData 20 #comfunc global IMSAdminBaseW_GetHandleInfo 21 int,var #comfunc global IMSAdminBaseW_GetSystemChangeNumber 22 var #comfunc global IMSAdminBaseW_GetDataSetNumber 23 int,wstr,var #comfunc global IMSAdminBaseW_SetLastChangeTime 24 int,wstr,var,int #comfunc global IMSAdminBaseW_GetLastChangeTime 25 int,wstr,var,int #comfunc global IMSAdminBaseW_KeyExchangePhase1 26 #comfunc global IMSAdminBaseW_KeyExchangePhase2 27 #comfunc global IMSAdminBaseW_Backup 28 wstr,int,int #comfunc global IMSAdminBaseW_Restore 29 wstr,int,int #comfunc global IMSAdminBaseW_EnumBackups 30 var,var,var,int #comfunc global IMSAdminBaseW_DeleteBackup 31 wstr,int #comfunc global IMSAdminBaseW_UnmarshalInterface 32 sptr #comfunc global IMSAdminBaseW_GetServerGuid 33 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMSAdminBaseW "{70B51430-B6CA-11D0-B9B9-00A0C922E750}" #usecom global IMSAdminBaseW IID_IMSAdminBaseW "{}" #comfunc global IMSAdminBaseW_AddKey 3 int,wstr #comfunc global IMSAdminBaseW_DeleteKey 4 int,wstr #comfunc global IMSAdminBaseW_DeleteChildKeys 5 int,wstr #comfunc global IMSAdminBaseW_EnumKeys 6 int,wstr,sptr,int #comfunc global IMSAdminBaseW_CopyKey 7 int,wstr,int,wstr,int,int #comfunc global IMSAdminBaseW_RenameKey 8 int,wstr,wstr #comfunc global IMSAdminBaseW_SetData 9 int,wstr,sptr #comfunc global IMSAdminBaseW_GetData 10 int,wstr,sptr,sptr #comfunc global IMSAdminBaseW_DeleteData 11 int,wstr,int,int #comfunc global IMSAdminBaseW_EnumData 12 int,wstr,sptr,int,sptr #comfunc global IMSAdminBaseW_GetAllData 13 int,wstr,int,int,int,sptr,sptr,int,sptr,sptr #comfunc global IMSAdminBaseW_DeleteAllData 14 int,wstr,int,int #comfunc global IMSAdminBaseW_CopyData 15 int,wstr,int,wstr,int,int,int,int #comfunc global IMSAdminBaseW_GetDataPaths 16 int,wstr,int,int,int,sptr,sptr #comfunc global IMSAdminBaseW_OpenKey 17 int,wstr,int,int,sptr #comfunc global IMSAdminBaseW_CloseKey 18 int #comfunc global IMSAdminBaseW_ChangePermissions 19 int,int,int #comfunc global IMSAdminBaseW_SaveData 20 #comfunc global IMSAdminBaseW_GetHandleInfo 21 int,sptr #comfunc global IMSAdminBaseW_GetSystemChangeNumber 22 sptr #comfunc global IMSAdminBaseW_GetDataSetNumber 23 int,wstr,sptr #comfunc global IMSAdminBaseW_SetLastChangeTime 24 int,wstr,sptr,int #comfunc global IMSAdminBaseW_GetLastChangeTime 25 int,wstr,sptr,int #comfunc global IMSAdminBaseW_KeyExchangePhase1 26 #comfunc global IMSAdminBaseW_KeyExchangePhase2 27 #comfunc global IMSAdminBaseW_Backup 28 wstr,int,int #comfunc global IMSAdminBaseW_Restore 29 wstr,int,int #comfunc global IMSAdminBaseW_EnumBackups 30 sptr,sptr,sptr,int #comfunc global IMSAdminBaseW_DeleteBackup 31 wstr,int #comfunc global IMSAdminBaseW_UnmarshalInterface 32 sptr #comfunc global IMSAdminBaseW_GetServerGuid 33 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。