ホーム › System.ClrHosting › IHostSecurityManager
IHostSecurityManager
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| hToken | HANDLE | in | 偽装(impersonate)するログオン済みユーザーを表すアクセストークンのハンドルである。 |
vtbl 4 HRESULT RevertToSelf()
| dwDesiredAccess | DWORD | in | アクセストークンに対して要求するアクセス権を指定する。 |
| bOpenAsSelf | BOOL | in | アクセスチェックをスレッドの呼び出し元コンテキストではなくプロセス自身のコンテキストで行うかどうかを指定する。 |
| phThreadToken | HANDLE* | out | 開かれたスレッドトークンのハンドルを受け取るポインタである。 |
| hToken | HANDLE | in | 現在のスレッドに設定する偽装トークンのハンドルである。NULL を指定すると偽装を解除する。 |
vtbl 7 HRESULT GetSecurityContext(EContextType eContextType, IHostSecurityContext** ppSecurityContext)
| eContextType | EContextType | in | 取得するセキュリティコンテキストの種類を表す EContextType 値を指定する。 |
| ppSecurityContext | IHostSecurityContext** | out | 取得したセキュリティコンテキストを表す IHostSecurityContext インターフェイスへのポインタを受け取る。 |
vtbl 8 HRESULT SetSecurityContext(EContextType eContextType, IHostSecurityContext* pSecurityContext)
| eContextType | EContextType | in | 設定するセキュリティコンテキストの種類を表す EContextType 値を指定する。 |
| pSecurityContext | IHostSecurityContext* | in | 設定するセキュリティコンテキストを表す IHostSecurityContext インターフェイスへのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IHostSecurityManager "{75AD2468-A349-4D02-A764-76A68AEE0C4F}"
#usecom global IHostSecurityManager IID_IHostSecurityManager "{}"
#comfunc global IHostSecurityManager_ImpersonateLoggedOnUser 3 sptr
#comfunc global IHostSecurityManager_RevertToSelf 4
#comfunc global IHostSecurityManager_OpenThreadToken 5 int,int,sptr
#comfunc global IHostSecurityManager_SetThreadToken 6 sptr
#comfunc global IHostSecurityManager_GetSecurityContext 7 int,sptr
#comfunc global IHostSecurityManager_SetSecurityContext 8 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。