import com.interface; namespace dotNet.interface; class ICLRRuntimeInfo{ ctor( ){ this = ..com.interface.IUnknown(); }; pointer GetVersionString = "int(ustring &wstrBuffer,INT &cchBuffer)"; //实际上就是 System.Environment.Version pointer GetRuntimeDirectory = "int(ustring &wstrBuffer,INT &cchBuffer)"; pointer IsLoaded = "int(pointer hndProcess,bool &loaded)"; pointer LoadErrorString = "int(INT iResourceID,ustring &wstrBuffer,INT &cchBuffer,int localeId)"; pointer LoadLibrary = "int(ustring dllName,pointer &phndModule)"; pointer GetProcAddress = "int(ustring pszProcName,pointer &ppProc)"; pointer GetInterface = "int(struct rclsId,struct riid,pointer &ppUnk)"; pointer IsLoadable = "int(bool &loadable)"; pointer SetDefaultStartupFlags = "int(INT startupFlags,ustring wstrHostConfigFile)"; pointer GetDefaultStartupFlags = "int(INT &startupFlags,ustring &wstrHostConfigFile,INT &cchHostConfigFile)"; pointer BindAsLegacyV2Runtime = "int()"; pointer IsStarted = "int(bool &started,INT &startupFlags)"; } ICLRRuntimeInfo.IID = "{BD39D1D2-BA2F-486a-89B0-B4B0CB466891}";