ホーム › Security.ConfigurationSnapin › ISceSvcAttachmentData
ISceSvcAttachmentData
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetData(void* scesvcHandle, SCESVC_INFO_TYPE sceType, void** ppvData, DWORD* psceEnumHandle)
| scesvcHandle | void* | inout | データを取得する対象のサービスを識別するハンドルである。 |
| sceType | SCESVC_INFO_TYPE | in | 取得するサービス情報の種類(SCESVC_INFO_TYPE)を指定する。 |
| ppvData | void** | inout | 取得したサービス設定データを格納したバッファを受け取るポインタである。 |
| psceEnumHandle | DWORD* | inout | 列挙を継続するための列挙ハンドルを渡し、更新された値を受け取るポインタである。 |
vtbl 4 HRESULT Initialize(CHAR* lpServiceName, CHAR* lpTemplateName, ISceSvcAttachmentPersistInfo* lpSceSvcPersistInfo, void** pscesvcHandle)
| lpServiceName | CHAR* | inout | 初期化する対象のサービス名を指定する文字列へのポインタである。 |
| lpTemplateName | CHAR* | inout | 初期化に使用するセキュリティテンプレート名を指定する文字列へのポインタである。 |
| lpSceSvcPersistInfo | ISceSvcAttachmentPersistInfo* | in | データの永続化に使用するISceSvcAttachmentPersistInfoインタフェースへのポインタである。 |
| pscesvcHandle | void** | inout | 初期化されたサービスデータを識別するハンドルを受け取るポインタである。 |
vtbl 5 HRESULT FreeBuffer(void* pvData)
| pvData | void* | inout | 解放する、このインタフェースが割り当てたデータバッファへのポインタである。 |
vtbl 6 HRESULT CloseHandle(void* scesvcHandle)
| scesvcHandle | void* | inout | 閉じる対象のサービスデータハンドルである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISceSvcAttachmentData "{17C35FDE-200D-11D1-AFFB-00C04FB984F9}" #usecom global ISceSvcAttachmentData IID_ISceSvcAttachmentData "{}" #comfunc global ISceSvcAttachmentData_GetData 3 sptr,int,sptr,var #comfunc global ISceSvcAttachmentData_Initialize 4 var,var,sptr,sptr #comfunc global ISceSvcAttachmentData_FreeBuffer 5 sptr #comfunc global ISceSvcAttachmentData_CloseHandle 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISceSvcAttachmentData "{17C35FDE-200D-11D1-AFFB-00C04FB984F9}" #usecom global ISceSvcAttachmentData IID_ISceSvcAttachmentData "{}" #comfunc global ISceSvcAttachmentData_GetData 3 sptr,int,sptr,sptr #comfunc global ISceSvcAttachmentData_Initialize 4 sptr,sptr,sptr,sptr #comfunc global ISceSvcAttachmentData_FreeBuffer 5 sptr #comfunc global ISceSvcAttachmentData_CloseHandle 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。