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

ICorRuntimeHost

COM
IIDcb2f6722-ab3a-11d2-9c40-00c04fa30a3e継承元IUnknown自前メソッド開始 vtbl3

メソッド 19

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

vtbl 3 HRESULT CreateLogicalThreadState()
vtbl 4 HRESULT DeleteLogicalThreadState()
vtbl 5 HRESULT SwitchInLogicalThreadState(DWORD* pFiberCookie)
pFiberCookieDWORD*in切り替えて復帰させる論理スレッド(ファイバー)を識別するクッキーへのポインタである。
vtbl 6 HRESULT SwitchOutLogicalThreadState(DWORD** pFiberCookie)
pFiberCookieDWORD**out現在の論理スレッド状態を退避し、その識別クッキーを受け取るポインタへのポインタである。
vtbl 7 HRESULT LocksHeldByLogicalThread(DWORD* pCount)
pCountDWORD*out現在の論理スレッドが保持しているロック数を受け取る DWORD へのポインタである。
vtbl 8 HRESULT MapFile(HANDLE hFile, HMODULE* hMapAddress)
hFileHANDLEinメモリにマップするファイルのハンドルである。
hMapAddressHMODULE*outマップされたファイルの基底アドレス(HMODULE)を受け取るポインタである。
vtbl 9 HRESULT GetConfiguration(ICorConfiguration** pConfiguration)
pConfigurationICorConfiguration**outランタイムの構成設定を行う ICorConfiguration インターフェイスを受け取るポインタへのポインタである。
vtbl 10 HRESULT Start()
vtbl 11 HRESULT Stop()
vtbl 12 HRESULT CreateDomain(LPWSTR pwzFriendlyName, IUnknown* pIdentityArray, IUnknown** pAppDomain)
pwzFriendlyNameLPWSTRin作成するアプリケーションドメインのフレンドリ名を指定する Unicode 文字列である。
pIdentityArrayIUnknown*inドメインに関連付ける証拠(エビデンス)を表す IUnknown へのポインタであり、不要な場合は NULL を指定できる。
pAppDomainIUnknown**out作成されたアプリケーションドメインを表す IUnknown を受け取るポインタへのポインタである。
vtbl 13 HRESULT GetDefaultDomain(IUnknown** pAppDomain)
pAppDomainIUnknown**out既定のアプリケーションドメインを表す IUnknown を受け取るポインタへのポインタである。
vtbl 14 HRESULT EnumDomains(void** hEnum)
hEnumvoid**outドメイン列挙のための列挙ハンドルを受け取るポインタへのポインタである。
vtbl 15 HRESULT NextDomain(void* hEnum, IUnknown** pAppDomain)
hEnumvoid*inEnumDomains で取得した列挙ハンドルである。
pAppDomainIUnknown**out列挙内の次のアプリケーションドメインを表す IUnknown を受け取るポインタへのポインタである。
vtbl 16 HRESULT CloseEnum(void* hEnum)
hEnumvoid*in解放する列挙ハンドルである。
vtbl 17 HRESULT CreateDomainEx(LPWSTR pwzFriendlyName, IUnknown* pSetup, IUnknown* pEvidence, IUnknown** pAppDomain)
pwzFriendlyNameLPWSTRin作成するアプリケーションドメインのフレンドリ名を指定する Unicode 文字列である。
pSetupIUnknown*inドメインの設定情報(AppDomainSetup)を表す IUnknown へのポインタである。
pEvidenceIUnknown*inドメインに関連付ける証拠(エビデンス)を表す IUnknown へのポインタであり、不要な場合は NULL を指定できる。
pAppDomainIUnknown**out作成されたアプリケーションドメインを表す IUnknown を受け取るポインタへのポインタである。
vtbl 18 HRESULT CreateDomainSetup(IUnknown** pAppDomainSetup)
pAppDomainSetupIUnknown**out新しいドメインセットアップオブジェクト(AppDomainSetup)を表す IUnknown を受け取るポインタへのポインタである。
vtbl 19 HRESULT CreateEvidence(IUnknown** pEvidence)
pEvidenceIUnknown**out新しい証拠(エビデンス)オブジェクトを表す IUnknown を受け取るポインタへのポインタである。
vtbl 20 HRESULT UnloadDomain(IUnknown* pAppDomain)
pAppDomainIUnknown*inアンロードする対象のアプリケーションドメインを表す IUnknown へのポインタである。
vtbl 21 HRESULT CurrentDomain(IUnknown** pAppDomain)
pAppDomainIUnknown**out現在のアプリケーションドメインを表す IUnknown を受け取るポインタへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ICorRuntimeHost "{CB2F6722-AB3A-11D2-9C40-00C04FA30A3E}"
#usecom global ICorRuntimeHost IID_ICorRuntimeHost "{}"
#comfunc global ICorRuntimeHost_CreateLogicalThreadState     3
#comfunc global ICorRuntimeHost_DeleteLogicalThreadState     4
#comfunc global ICorRuntimeHost_SwitchInLogicalThreadState   5 var
#comfunc global ICorRuntimeHost_SwitchOutLogicalThreadState  6 var
#comfunc global ICorRuntimeHost_LocksHeldByLogicalThread     7 var
#comfunc global ICorRuntimeHost_MapFile                      8 sptr,sptr
#comfunc global ICorRuntimeHost_GetConfiguration             9 sptr
#comfunc global ICorRuntimeHost_Start                        10
#comfunc global ICorRuntimeHost_Stop                         11
#comfunc global ICorRuntimeHost_CreateDomain                 12 wstr,sptr,sptr
#comfunc global ICorRuntimeHost_GetDefaultDomain             13 sptr
#comfunc global ICorRuntimeHost_EnumDomains                  14 sptr
#comfunc global ICorRuntimeHost_NextDomain                   15 sptr,sptr
#comfunc global ICorRuntimeHost_CloseEnum                    16 sptr
#comfunc global ICorRuntimeHost_CreateDomainEx               17 wstr,sptr,sptr,sptr
#comfunc global ICorRuntimeHost_CreateDomainSetup            18 sptr
#comfunc global ICorRuntimeHost_CreateEvidence               19 sptr
#comfunc global ICorRuntimeHost_UnloadDomain                 20 sptr
#comfunc global ICorRuntimeHost_CurrentDomain                21 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。