• Welcome to Theos PowerBasic Museum 2017.

RE:Loading the Common Language Runtime into a Process

Started by Carlo Pagani, September 10, 2008, 07:52:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Carlo Pagani

Hi Jose

Can you give a bit of background on this. Is the purpose of this to allow access to a managed object in .NET? I would like to state in public that I think you are a genius and thank you so much for all your contributions!

José Roca

 
Thanks for your compliments.

Yes, this is the purpose. The code posted demonstrates how to host the CLR, create an instance of a system class and call its methods and properties. The next step should be to explore the usage of the CreateInstanceFrom method to load an assembly from disk and create an instance of one of its classes. This will be a bit tougher to me because I will need assemblies to test and I'm not a .NET programmer.

Edwin Knoppert

#2
.Net - Minimal custom class (with compile bat):
http://www.hellobasic.com/cgi-bin/forum/YaBB.pl?board=VDExamples;action=display;num=1193174377
(You don't need VWD or VS for this, just a textfile and bat file)


OLEDB stuff:
http://www.hellobasic.com/cgi-bin/forum/YaBB.pl?board=VDExamples;action=display;num=1193227199

Greg Lyon

Yes, this is very cool José. Thanks for posting an example of how to do this. You are a genius.


Greg Lyon

I'm running into a brick wall trying to create an instance of System.DateTime. Any ideas?


LOCAL oDt AS DISPATCH

oDt = pCLRHost.CreateInstance("mscorlib", "System.DateTime")

Edwin Knoppert

It's fairly difficult to use these kind of static classes.
also.. the .NET implementation will have an intermediate part which provides a com interface.
Several parts will therefore pretty hard to do.
One of the solutions is making use of a wrapper assembly with easier methods than the original classes.
.NET is also able to load assemblies from memory, this makes as it where static linking.

José Roca

System.DateTime if not a cocreatable class, but an structure. This is a list of the ProgIDs in mscorlib:


' CLSID = {4C3EBFD5-FC72-33DC-BC37-9953EB25B8D7}
$PROGID_SystemAccessViolationExceptionAccessViolationException = "System.AccessViolationException"
' CLSID = {C03880A5-0B5E-39AD-954A-CE0DCBD5EF7D}
$PROGID_SystemAppDomainManagerAppDomainManager = "System.AppDomainManager"
' CLSID = {3E8E0F03-D3FD-3A93-BAE0-C74A6494DBCA}
$PROGID_SystemAppDomainSetupAppDomainSetup = "System.AppDomainSetup"
' CLSID = {61B3E12B-3586-3A58-A497-7ED7C4C794B9}
$PROGID_SystemAppDomainUnloadedExceptionAppDomainUnloadedException = "System.AppDomainUnloadedException"
' CLSID = {682D63B8-1692-31BE-88CD-5CB1F79EDB7B}
$PROGID_SystemApplicationExceptionApplicationException = "System.ApplicationException"
' CLSID = {3FDCEEC6-B14B-37E2-BB69-ABC7CA0DA22F}
$PROGID_SystemArgumentExceptionArgumentException = "System.ArgumentException"
' CLSID = {3BD1F243-9BC4-305D-9B1C-0D10C80329FC}
$PROGID_SystemArgumentNullExceptionArgumentNullException = "System.ArgumentNullException"
' CLSID = {74BDD0B9-38D7-3FDA-A67E-D404EE684F24}
$PROGID_SystemArgumentOutOfRangeExceptionArgumentOutOfRangeException = "System.ArgumentOutOfRangeException"
' CLSID = {647053C3-1879-34D7-AE57-67015C91FC70}
$PROGID_SystemArithmeticExceptionArithmeticException = "System.ArithmeticException"
' CLSID = {676E1164-752C-3A74-8D3F-BCD32A2026D6}
$PROGID_SystemArrayTypeMismatchExceptionArrayTypeMismatchException = "System.ArrayTypeMismatchException"
' CLSID = {E9148312-A9BF-3A45-BBCA-350967FD78F5}
$PROGID_SystemBadImageFormatExceptionBadImageFormatException = "System.BadImageFormatException"
' CLSID = {29C69707-875F-3678-8F01-283094A2DFB1}
$PROGID_SystemCannotUnloadAppDomainExceptionCannotUnloadAppDomainException = "System.CannotUnloadAppDomainException"
' CLSID = {6896B49D-7AFB-34DC-934E-5ADD38EEEE39}
$PROGID_SystemArrayListArrayList = "System.Collections.ArrayList"
' CLSID = {35E946E4-7CDA-3824-8B24-D799A96309AD}
$PROGID_SystemCaseInsensitiveComparerCaseInsensitiveComparer = "System.Collections.CaseInsensitiveComparer"
' CLSID = {47D3C68D-7D85-3227-A9E7-88451D6BADFC}
$PROGID_SystemCaseInsensitiveHashCodeProviderCaseInsensitiveHashCodeProvider = "System.Collections.CaseInsensitiveHashCodeProvider"
' CLSID = {0D52ABE3-3C93-3D94-A744-AC44850BACCD}
$PROGID_SystemKeyNotFoundExceptionKeyNotFoundException = "System.Collections.Generic.KeyNotFoundException"
' CLSID = {146855FA-309F-3D0E-BB3E-DF525F30A715}
$PROGID_SystemHashtableHashtable = "System.Collections.Hashtable"
' CLSID = {7F976B72-4B71-3858-BEE8-8E3A3189A651}
$PROGID_SystemQueueQueue = "System.Collections.Queue"
' CLSID = {026CC6D7-34B2-33D5-B551-CA31EB6CE345}
$PROGID_SystemSortedListSortedList = "System.Collections.SortedList"
' CLSID = {4599202D-460F-3FB7-8A1C-C2CC6ED6C7C8}
$PROGID_SystemStackStack = "System.Collections.Stack"
' CLSID = {CBEAA915-4D2C-3F77-98E8-A258B0FD3CEF}
$PROGID_SystemContextMarshalExceptionContextMarshalException = "System.ContextMarshalException"
' CLSID = {96705EE3-F7AB-3E9A-9FB2-AD1D536E901A}
$PROGID_SystemContextStaticAttributeContextStaticAttribute = "System.ContextStaticAttribute"
' CLSID = {AAD4BDD3-81AA-3ABC-B53B-D904D25BC01E}
$PROGID_SystemDataMisalignedExceptionDataMisalignedException = "System.DataMisalignedException"
' CLSID = {91F672A3-6B82-3E04-B2D7-BAC5D6676609}
$PROGID_SystemDebuggerDebugger = "System.Diagnostics.Debugger"
' CLSID = {41970D73-92F6-36D9-874D-3BD0762A0D6F}
$PROGID_SystemDebuggerHiddenAttributeDebuggerHiddenAttribute = "System.Diagnostics.DebuggerHiddenAttribute"
' CLSID = {29625281-51CE-3F8A-AC4D-E360CACB92E2}
$PROGID_SystemDebuggerNonUserCodeAttributeDebuggerNonUserCodeAttribute = "System.Diagnostics.DebuggerNonUserCodeAttribute"
' CLSID = {1B979846-AAEB-314B-8E63-D44EF1CB9EFC}
$PROGID_SystemDebuggerStepperBoundaryAttributeDebuggerStepperBoundaryAttribute = "System.Diagnostics.DebuggerStepperBoundaryAttribute"
' CLSID = {93F551D6-2F9E-301B-BE63-85AEF508CAE0}
$PROGID_SystemDebuggerStepThroughAttributeDebuggerStepThroughAttribute = "System.Diagnostics.DebuggerStepThroughAttribute"
' CLSID = {14910622-09D4-3B4A-8C1E-9991DBDCC553}
$PROGID_SystemStackFrameStackFrame = "System.Diagnostics.StackFrame"
' CLSID = {405C2D81-315B-3CB0-8442-EF5A38D4C3B8}
$PROGID_SystemStackTraceStackTrace = "System.Diagnostics.StackTrace"
' CLSID = {40AE2088-CE00-33AD-9320-5D201CB46FC9}
$PROGID_SystemSymDocumentTypeSymDocumentType = "System.Diagnostics.SymbolStore.SymDocumentType"
' CLSID = {5A18D43E-115B-3B8B-8245-9A06B204B717}
$PROGID_SystemSymLanguageTypeSymLanguageType = "System.Diagnostics.SymbolStore.SymLanguageType"
' CLSID = {DFD888A7-A6B0-3B1B-985E-4CDAB0E4C17D}
$PROGID_SystemSymLanguageVendorSymLanguageVendor = "System.Diagnostics.SymbolStore.SymLanguageVendor"
' CLSID = {F6914A11-D95D-324F-BA0F-39A374625290}
$PROGID_SystemDivideByZeroExceptionDivideByZeroException = "System.DivideByZeroException"
' CLSID = {46E97093-B2EC-3787-A9A5-470D1A27417C}
$PROGID_SystemDllNotFoundExceptionDllNotFoundException = "System.DllNotFoundException"
' CLSID = {CC20C6DF-A054-3F09-A5F5-A3B5A25F4CE6}
$PROGID_SystemDuplicateWaitObjectExceptionDuplicateWaitObjectException = "System.DuplicateWaitObjectException"
' CLSID = {AD326409-BF80-3E0C-BA6F-EE2C33B675A5}
$PROGID_SystemEntryPointNotFoundExceptionEntryPointNotFoundException = "System.EntryPointNotFoundException"
' CLSID = {3FB717AF-9D21-3016-871A-DF817ABDDD51}
$PROGID_SystemEventArgsEventArgs = "System.EventArgs"
' CLSID = {A1C0A095-DF97-3441-BFC1-C9F194E494DB}
$PROGID_SystemExceptionException = "System.Exception"
' CLSID = {E786FB32-B659-3D96-94C4-E1A9FC037868}
$PROGID_SystemExecutionEngineExceptionExecutionEngineException = "System.ExecutionEngineException"
' CLSID = {BDA7BEE5-85F1-3B66-B610-DDF1D5898006}
$PROGID_SystemFieldAccessExceptionFieldAccessException = "System.FieldAccessException"
' CLSID = {66CE75D4-0334-3CA6-BCA8-CE9AF28A4396}
$PROGID_SystemFlagsAttributeFlagsAttribute = "System.FlagsAttribute"
' CLSID = {964AA3BD-4B12-3E23-9D7F-99342AFAE812}
$PROGID_SystemFormatExceptionFormatException = "System.FormatException"
' CLSID = {70A738D1-1BC5-3175-BD42-603E2B82C08B}
$PROGID_SystemDateTimeFormatInfoDateTimeFormatInfo = "System.Globalization.DateTimeFormatInfo"
' CLSID = {68F8AEA9-1968-35B9-8A0E-6FDC637A4F8E}
$PROGID_SystemGregorianCalendarGregorianCalendar = "System.Globalization.GregorianCalendar"
' CLSID = {2206D773-CA1C-3258-9456-CEB7706C3710}
$PROGID_SystemHebrewCalendarHebrewCalendar = "System.Globalization.HebrewCalendar"
' CLSID = {EE832CE3-06CA-33EF-8F01-61C7C218BD7E}
$PROGID_SystemHijriCalendarHijriCalendar = "System.Globalization.HijriCalendar"
' CLSID = {374050DD-6190-3257-8812-8230BF095147}
$PROGID_SystemJapaneseCalendarJapaneseCalendar = "System.Globalization.JapaneseCalendar"
' CLSID = {5C3E6CE8-B218-3762-883C-91BC987CDC2D}
$PROGID_SystemJulianCalendarJulianCalendar = "System.Globalization.JulianCalendar"
' CLSID = {1A06A4DC-E239-3717-89E1-D0683F3A5320}
$PROGID_SystemKoreanCalendarKoreanCalendar = "System.Globalization.KoreanCalendar"
' CLSID = {146A47AB-A2CF-3587-BB25-2B286D7566B4}
$PROGID_SystemNumberFormatInfoNumberFormatInfo = "System.Globalization.NumberFormatInfo"
' CLSID = {31C967B5-2F8A-3957-9C6D-34A0731DB36C}
$PROGID_SystemStringInfoStringInfo = "System.Globalization.StringInfo"
' CLSID = {769B8B68-64F7-3B61-B744-160A9FCC3216}
$PROGID_SystemTaiwanCalendarTaiwanCalendar = "System.Globalization.TaiwanCalendar"
' CLSID = {EC3DAC94-DF80-3017-B381-B13DCED6C4D8}
$PROGID_SystemThaiBuddhistCalendarThaiBuddhistCalendar = "System.Globalization.ThaiBuddhistCalendar"
' CLSID = {5CA9971B-2DC3-3BC8-847A-5E6D15CBB16E}
$PROGID_SystemIndexOutOfRangeExceptionIndexOutOfRangeException = "System.IndexOutOfRangeException"
' CLSID = {7F6BCBE5-EB30-370B-9F1B-92A6265AFEDD}
$PROGID_SystemInvalidCastExceptionInvalidCastException = "System.InvalidCastException"
' CLSID = {9546306B-1B68-33AF-80DB-3A9206501515}
$PROGID_SystemInvalidOperationExceptionInvalidOperationException = "System.InvalidOperationException"
' CLSID = {91591469-EFEF-3D63-90F9-88520F0AA1EF}
$PROGID_SystemInvalidProgramExceptionInvalidProgramException = "System.InvalidProgramException"
' CLSID = {8833BC41-DC6B-34B9-A799-682D2554F02F}
$PROGID_SystemDirectoryNotFoundExceptionDirectoryNotFoundException = "System.IO.DirectoryNotFoundException"
' CLSID = {A8F9F740-70C9-30A7-937C-59785A9BB5A4}
$PROGID_SystemDriveNotFoundExceptionDriveNotFoundException = "System.IO.DriveNotFoundException"
' CLSID = {58D052BC-A3DF-3508-AC95-FF297BDC9F0C}
$PROGID_SystemEndOfStreamExceptionEndOfStreamException = "System.IO.EndOfStreamException"
' CLSID = {AF8C5F8A-9999-3E92-BB41-C5F4955174CD}
$PROGID_SystemFileLoadExceptionFileLoadException = "System.IO.FileLoadException"
' CLSID = {48C6E96F-A2F3-33E7-BA7F-C8F74866760B}
$PROGID_SystemFileNotFoundExceptionFileNotFoundException = "System.IO.FileNotFoundException"
' CLSID = {A164C0BF-67AE-3C7E-BC05-BFE24A8CDB62}
$PROGID_SystemIOExceptionIOException = "System.IO.IOException"
' CLSID = {4479C009-4CC3-39A2-8F92-DFCDF034F748}
$PROGID_SystemIsolatedStorageExceptionIsolatedStorageException = "System.IO.IsolatedStorage.IsolatedStorageException"
' CLSID = {F5E692D9-8A87-349D-9657-F96E5799D2F4}
$PROGID_SystemMemoryStreamMemoryStream = "System.IO.MemoryStream"
' CLSID = {C016A313-9606-36D3-A823-33EBF5006189}
$PROGID_SystemPathTooLongExceptionPathTooLongException = "System.IO.PathTooLongException"
' CLSID = {27F31D55-D6C6-3676-9D42-C40F3A918636}
$PROGID_SystemStringWriterStringWriter = "System.IO.StringWriter"
' CLSID = {0FF66430-C796-3EE7-902B-166C402CA288}
$PROGID_SystemMemberAccessExceptionMemberAccessException = "System.MemberAccessException"
' CLSID = {92E76A74-2622-3AA9-A3CA-1AE8BD7BC4A8}
$PROGID_SystemMethodAccessExceptionMethodAccessException = "System.MethodAccessException"
' CLSID = {8D36569B-14D6-3C3D-B55C-9D02A45BFC3D}
$PROGID_SystemMissingFieldExceptionMissingFieldException = "System.MissingFieldException"
' CLSID = {CDC70043-D56B-3799-B7BD-6113BBCA160A}
$PROGID_SystemMissingMemberExceptionMissingMemberException = "System.MissingMemberException"
' CLSID = {58897D76-EF6C-327A-93F7-6CD66C424E11}
$PROGID_SystemMissingMethodExceptionMissingMethodException = "System.MissingMethodException"
' CLSID = {B406AC70-4D7E-3D24-B241-AEAEAC343BD9}
$PROGID_SystemMTAThreadAttributeMTAThreadAttribute = "System.MTAThreadAttribute"
' CLSID = {9DA2F8B8-59F0-3852-B509-0663E3BF643B}
$PROGID_SystemMulticastNotSupportedExceptionMulticastNotSupportedException = "System.MulticastNotSupportedException"
' CLSID = {CC77F5F3-222D-3586-88C3-410477A3B65D}
$PROGID_SystemNonSerializedAttributeNonSerializedAttribute = "System.NonSerializedAttribute"
' CLSID = {7E34AB89-0684-3B86-8A0F-E638EB4E6252}
$PROGID_SystemNotFiniteNumberExceptionNotFiniteNumberException = "System.NotFiniteNumberException"
' CLSID = {F8BE2AD5-4E99-3E00-B10E-7C54D31C1C1D}
$PROGID_SystemNotImplementedExceptionNotImplementedException = "System.NotImplementedException"
' CLSID = {DAFB2462-2A5B-3818-B17E-602984FE1BB0}
$PROGID_SystemNotSupportedExceptionNotSupportedException = "System.NotSupportedException"
' CLSID = {7F71DB2D-1EA0-3CAE-8087-26095F5215E6}
$PROGID_SystemNullReferenceExceptionNullReferenceException = "System.NullReferenceException"
' CLSID = {81C5FE01-027C-3E1C-98D5-DA9C9862AA21}
$PROGID_SystemObjectObject = "System.Object"
' CLSID = {08295C62-7462-3633-B35E-7AE68ACA3948}
$PROGID_SystemObsoleteAttributeObsoleteAttribute = "System.ObsoleteAttribute"
' CLSID = {11581718-2434-32E3-B559-E86CE9923744}
$PROGID_SystemOperationCanceledExceptionOperationCanceledException = "System.OperationCanceledException"
' CLSID = {CCF306AE-33BD-3003-9CCE-DAF5BEFEF611}
$PROGID_SystemOutOfMemoryExceptionOutOfMemoryException = "System.OutOfMemoryException"
' CLSID = {4286FA72-A2FA-3245-8751-D4206070A191}
$PROGID_SystemOverflowExceptionOverflowException = "System.OverflowException"
' CLSID = {3495E5FA-2A90-3CA7-B3B5-58736C4441DD}
$PROGID_SystemParamArrayAttributeParamArrayAttribute = "System.ParamArrayAttribute"
' CLSID = {A36738B5-FA8F-3316-A929-68099A32B43B}
$PROGID_SystemPlatformNotSupportedExceptionPlatformNotSupportedException = "System.PlatformNotSupportedException"
' CLSID = {4E77EC8F-51D8-386C-85FE-7DC931B7A8E7}
$PROGID_SystemRandomRandom = "System.Random"
' CLSID = {C9F61CBD-287F-3D24-9FEB-2C3F347CF570}
$PROGID_SystemRankExceptionRankException = "System.RankException"
' CLSID = {2846AE5E-A9FA-36CF-B2D1-6E95596DBDE7}
$PROGID_SystemAmbiguousMatchExceptionAmbiguousMatchException = "System.Reflection.AmbiguousMatchException"
' CLSID = {F12FDE6A-9394-3C32-8E4D-F3D470947284}
$PROGID_SystemAssemblyNameAssemblyName = "System.Reflection.AssemblyName"
' CLSID = {3F4A4283-6A08-3E90-A976-2C2D3BE4EB0B}
$PROGID_SystemAssemblyNameProxyAssemblyNameProxy = "System.Reflection.AssemblyNameProxy"
' CLSID = {D5CB383D-99F4-3C7E-A9C3-85B53661448F}
$PROGID_SystemCustomAttributeFormatExceptionCustomAttributeFormatException = "System.Reflection.CustomAttributeFormatException"
' CLSID = {7B938A6F-77BF-351C-A712-69483C91115D}
$PROGID_SystemInvalidFilterCriteriaExceptionInvalidFilterCriteriaException = "System.Reflection.InvalidFilterCriteriaException"
' CLSID = {93D11DE9-5F6C-354A-A7C5-16CCCA64A9B8}
$PROGID_SystemObfuscationAttributeObfuscationAttribute = "System.Reflection.ObfuscationAttribute"
' CLSID = {0D23F8B4-F2A6-3EFF-9D37-BDF79AC6B440}
$PROGID_SystemTargetExceptionTargetException = "System.Reflection.TargetException"
' CLSID = {DA317BE2-1A0D-37B3-83F2-A0F32787FC67}
$PROGID_SystemTargetParameterCountExceptionTargetParameterCountException = "System.Reflection.TargetParameterCountException"
' CLSID = {726BBDF4-6C6D-30F4-B3A0-F14D6AEC08C7}
$PROGID_SystemMissingManifestResourceExceptionMissingManifestResourceException = "System.Resources.MissingManifestResourceException"
' CLSID = {D41969A6-C394-34B9-BD24-DD408F39F261}
$PROGID_SystemMissingSatelliteAssemblyExceptionMissingSatelliteAssemblyException = "System.Resources.MissingSatelliteAssemblyException"
' CLSID = {A3A1F076-1FA7-3A26-886D-8841CB45382F}
$PROGID_SystemCallConvCdeclCallConvCdecl = "System.Runtime.CompilerServices.CallConvCdecl"
' CLSID = {ED0BC45C-2438-31A9-BBB6-E2A3B5916419}
$PROGID_SystemCallConvFastcallCallConvFastcall = "System.Runtime.CompilerServices.CallConvFastcall"
' CLSID = {BCB67D4D-2096-36BE-974C-A003FC95041B}
$PROGID_SystemCallConvStdcallCallConvStdcall = "System.Runtime.CompilerServices.CallConvStdcall"
' CLSID = {46080CA7-7CB8-3A55-A72E-8E50ECA4D4FC}
$PROGID_SystemCallConvThiscallCallConvThiscall = "System.Runtime.CompilerServices.CallConvThiscall"
' CLSID = {4B601364-A04B-38BC-BD38-A18E981324CF}
$PROGID_SystemCompilerGlobalScopeAttributeCompilerGlobalScopeAttribute = "System.Runtime.CompilerServices.CompilerGlobalScopeAttribute"
' CLSID = {837A6733-1675-3BC9-BBF8-13889F84DAF4}
$PROGID_SystemDiscardableAttributeDiscardableAttribute = "System.Runtime.CompilerServices.DiscardableAttribute"
' CLSID = {E947A0B0-D47F-3AA3-9B77-4624E0F3ACA4}
$PROGID_SystemIDispatchConstantAttributeIDispatchConstantAttribute = "System.Runtime.CompilerServices.IDispatchConstantAttribute"
' CLSID = {590E4A07-DAFC-3BE7-A178-DA349BBA980B}
$PROGID_SystemIUnknownConstantAttributeIUnknownConstantAttribute = "System.Runtime.CompilerServices.IUnknownConstantAttribute"
' CLSID = {48D0CFE7-3128-3D2C-A5B5-8C7B82B4AB4F}
$PROGID_SystemMethodImplAttributeMethodImplAttribute = "System.Runtime.CompilerServices.MethodImplAttribute"
' CLSID = {C437AB2E-865B-321D-BA15-0C8EC4CA119B}
$PROGID_SystemNativeCppClassAttributeNativeCppClassAttribute = "System.Runtime.CompilerServices.NativeCppClassAttribute"
' CLSID = {1D09B407-A97F-378A-ACCB-82CA0082F9F3}
$PROGID_SystemApplicationActivatorApplicationActivator = "System.Runtime.Hosting.ApplicationActivator"
' CLSID = {8A3FD229-B2A9-347F-93D2-87F3B7F92753}
$PROGID_SystemComConversionLossAttributeComConversionLossAttribute = "System.Runtime.InteropServices.ComConversionLossAttribute"
' CLSID = {07F94112-A42E-328B-B508-702EF62BCC29}
$PROGID_SystemCOMExceptionCOMException = "System.Runtime.InteropServices.COMException"
' CLSID = {F1EBA909-6621-346D-9CE2-39F266C9D011}
$PROGID_SystemComImportAttributeComImportAttribute = "System.Runtime.InteropServices.ComImportAttribute"
' CLSID = {630A3EF1-23C6-31FE-9D25-294E3B3E7486}
$PROGID_SystemComRegisterFunctionAttributeComRegisterFunctionAttribute = "System.Runtime.InteropServices.ComRegisterFunctionAttribute"
' CLSID = {8F45C7FF-1E6E-34C1-A7CC-260985392A05}
$PROGID_SystemComUnregisterFunctionAttributeComUnregisterFunctionAttribute = "System.Runtime.InteropServices.ComUnregisterFunctionAttribute"
' CLSID = {AFC681CF-E82F-361A-8280-CF4E1F844C3E}
$PROGID_SystemExternalExceptionExternalException = "System.Runtime.InteropServices.ExternalException"
' CLSID = {96A058CD-FAF7-386C-85BF-E47F00C81795}
$PROGID_SystemInAttributeInAttribute = "System.Runtime.InteropServices.InAttribute"
' CLSID = {A7248EC6-A8A5-3D07-890E-6107F8C247E5}
$PROGID_SystemInvalidComObjectExceptionInvalidComObjectException = "System.Runtime.InteropServices.InvalidComObjectException"
' CLSID = {9A944885-EDAF-3A81-A2FF-6A9D5D1ABFC7}
$PROGID_SystemInvalidOleVariantTypeExceptionInvalidOleVariantTypeException = "System.Runtime.InteropServices.InvalidOleVariantTypeException"
' CLSID = {742AD1FB-B2F0-3681-B4AA-E736A3BCE4E1}
$PROGID_SystemMarshalDirectiveExceptionMarshalDirectiveException = "System.Runtime.InteropServices.MarshalDirectiveException"
' CLSID = {B81CB5ED-E654-399F-9698-C83C50665786}
$PROGID_SystemOptionalAttributeOptionalAttribute = "System.Runtime.InteropServices.OptionalAttribute"
' CLSID = {FDB2DC94-B5A0-3702-AE84-BBFA752ACB36}
$PROGID_SystemOutAttributeOutAttribute = "System.Runtime.InteropServices.OutAttribute"
' CLSID = {204D5A28-46A0-3F04-BD7C-B5672631E57F}
$PROGID_SystemPreserveSigAttributePreserveSigAttribute = "System.Runtime.InteropServices.PreserveSigAttribute"
' CLSID = {475E398F-8AFA-43A7-A3BE-F4EF8D6787C9}
$PROGID_SystemRegistrationServicesRegistrationServices = "System.Runtime.InteropServices.RegistrationServices"
' CLSID = {78D22140-40CF-303E-BE96-B3AC0407A34D}
$PROGID_SystemRuntimeEnvironmentRuntimeEnvironment = "System.Runtime.InteropServices.RuntimeEnvironment"
' CLSID = {4BE89AC3-603D-36B2-AB9B-9C38866F56D5}
$PROGID_SystemSafeArrayRankMismatchExceptionSafeArrayRankMismatchException = "System.Runtime.InteropServices.SafeArrayRankMismatchException"
' CLSID = {2D5EC63C-1B3E-3EE4-9052-EB0D0303549C}
$PROGID_SystemSafeArrayTypeMismatchExceptionSafeArrayTypeMismatchException = "System.Runtime.InteropServices.SafeArrayTypeMismatchException"
' CLSID = {CA805B13-468C-3A22-BF9A-818E97EFA6B7}
$PROGID_SystemSEHExceptionSEHException = "System.Runtime.InteropServices.SEHException"
' CLSID = {9D309F77-4655-372E-84B0-B0FB4030F3B8}
$PROGID_SystemSetWin32ContextInIDispatchAttributeSetWin32ContextInIDispatchAttribute = "System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute"
' CLSID = {F1C3BF79-C3E4-11D3-88E7-00902754C43A}
$PROGID_SystemTypeLibConverterTypeLibConverter = "System.Runtime.InteropServices.TypeLibConverter"
' CLSID = {DD5856E5-8151-3334-B8E9-07CB152B20A4}
$PROGID_SystemClientChannelSinkStackClientChannelSinkStack = "System.Runtime.Remoting.Channels.ClientChannelSinkStack"
' CLSID = {5C35F099-165E-3225-A3A5-564150EA17F5}
$PROGID_SystemServerChannelSinkStackServerChannelSinkStack = "System.Runtime.Remoting.Channels.ServerChannelSinkStack"
' CLSID = {48728B3F-F7D9-36C1-B3E7-8BF2E63CE1B3}
$PROGID_SystemTransportHeadersTransportHeaders = "System.Runtime.Remoting.Channels.TransportHeaders"
' CLSID = {A36E4EAF-EA3F-30A6-906D-374BBF7903B1}
$PROGID_SystemContextContext = "System.Runtime.Remoting.Contexts.Context"
' CLSID = {5520B6D3-6EC6-3CE7-958B-E69FAF6EFF99}
$PROGID_SystemSynchronizationAttributeSynchronizationAttribute = "System.Runtime.Remoting.Contexts.SynchronizationAttribute"
' CLSID = {53A3C917-BB24-3908-B58B-09ECDA99265F}
$PROGID_SystemInternalRemotingServicesInternalRemotingServices = "System.Runtime.Remoting.InternalRemotingServices"
' CLSID = {FD8C8FCE-4F85-36B2-B8E8-F5A183654539}
$PROGID_SystemClientSponsorClientSponsor = "System.Runtime.Remoting.Lifetime.ClientSponsor"
' CLSID = {8FD730C1-DD1B-3694-84A1-8CE7159E266B}
$PROGID_SystemLifetimeServicesLifetimeServices = "System.Runtime.Remoting.Lifetime.LifetimeServices"
' CLSID = {C30ABD41-7B5A-3D10-A6EF-56862E2979B6}
$PROGID_SystemOneWayAttributeOneWayAttribute = "System.Runtime.Remoting.Messaging.OneWayAttribute"
' CLSID = {24EEC005-3938-3C71-821D-7F68FD850B2D}
$PROGID_SystemRemotingSurrogateSelectorRemotingSurrogateSelector = "System.Runtime.Remoting.Messaging.RemotingSurrogateSelector"
' CLSID = {9B924EC5-BF13-3A98-8AC0-80877995D403}
$PROGID_SystemSoapAttributeSoapAttribute = "System.Runtime.Remoting.Metadata.SoapAttribute"
' CLSID = {5B76534C-3ACC-3D52-AA61-D788B134ABE2}
$PROGID_SystemSoapFieldAttributeSoapFieldAttribute = "System.Runtime.Remoting.Metadata.SoapFieldAttribute"
' CLSID = {01FF4E4B-8AD0-3171-8C82-5C2F48B87E3D}
$PROGID_SystemSoapMethodAttributeSoapMethodAttribute = "System.Runtime.Remoting.Metadata.SoapMethodAttribute"
' CLSID = {C76B435D-86C2-30FD-9329-E2603246095C}
$PROGID_SystemSoapParameterAttributeSoapParameterAttribute = "System.Runtime.Remoting.Metadata.SoapParameterAttribute"
' CLSID = {9C67F424-22DC-3D05-AB36-17EAF95881F2}
$PROGID_SystemSoapTypeAttributeSoapTypeAttribute = "System.Runtime.Remoting.Metadata.SoapTypeAttribute"
' CLSID = {CDFA7117-B2A4-3A3F-B393-BC19D44F9749}
$PROGID_SystemSoapAnyUriSoapAnyUri = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapAnyUri"
' CLSID = {F59D514C-F200-319F-BF3F-9E4E23B2848C}
$PROGID_SystemSoapBase64BinarySoapBase64Binary = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapBase64Binary"
' CLSID = {48AD62E8-BD40-37F4-8FD7-F7A17478A8E6}
$PROGID_SystemSoapDateTimeSoapDateTime = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapDateTime"
' CLSID = {C9F0A842-3CE1-338F-A1D4-6D7BB397BDAA}
$PROGID_SystemSoapDaySoapDay = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapDay"
' CLSID = {DE47D9CF-0107-3D66-93E9-A8ACB06B4583}
$PROGID_SystemSoapDurationSoapDuration = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapDuration"
' CLSID = {9A3A64F4-8BA5-3DCF-880C-8D3EE06C5538}
$PROGID_SystemSoapEntitiesSoapEntities = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapEntities"
' CLSID = {F00CA7A7-4B8D-3F2F-A5F2-CE4A4478B39C}
$PROGID_SystemSoapEntitySoapEntity = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapEntity"
' CLSID = {8C1425C9-A7D3-35CD-8248-928CA52AD49B}
$PROGID_SystemSoapHexBinarySoapHexBinary = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary"
' CLSID = {2763BE6B-F8CF-39D9-A2E8-9E9815C0815E}
$PROGID_SystemSoapIdrefsSoapIdrefs = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapIdrefs"
' CLSID = {09A60795-31C0-3A79-9250-8D93C74FE540}
$PROGID_SystemSoapIntegerSoapInteger = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapInteger"
' CLSID = {84F70B6C-D59E-394A-B879-FFCC30DDCAA2}
$PROGID_SystemSoapLanguageSoapLanguage = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapLanguage"
' CLSID = {463AE13F-C7E5-357E-A41C-DF8762FFF85C}
$PROGID_SystemSoapMonthDaySoapMonthDay = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapMonthDay"
' CLSID = {4E515531-7A71-3CDD-8078-0A01C85C8F9D}
$PROGID_SystemSoapNameSoapName = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapName"
' CLSID = {D13B741D-051F-322F-93AA-1367A3C8AAFB}
$PROGID_SystemSoapNcNameSoapNcName = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNcName"
' CLSID = {C41D0B30-A518-3093-A18F-364AF9E71EB7}
$PROGID_SystemSoapNegativeIntegerSoapNegativeInteger = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNegativeInteger"
' CLSID = {C498F2D9-A77C-3D4B-A1A5-12CC7B99115D}
$PROGID_SystemSoapNmtokenSoapNmtoken = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNmtoken"
' CLSID = {14BE6B21-C682-3A3A-8B24-FEE75B4FF8C5}
$PROGID_SystemSoapNmtokensSoapNmtokens = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNmtokens"
' CLSID = {6850404F-D7FB-32BD-8328-C94F66E8C1C7}
$PROGID_SystemSoapNonNegativeIntegerSoapNonNegativeInteger = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNonNegativeInteger"
' CLSID = {2BB6C5E0-C2B9-3608-8868-21CFD6DDB91E}
$PROGID_SystemSoapNonPositiveIntegerSoapNonPositiveInteger = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNonPositiveInteger"
' CLSID = {0E71F9BD-C109-3352-BD60-14F96D56B6F3}
$PROGID_SystemSoapNormalizedStringSoapNormalizedString = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNormalizedString"
' CLSID = {B54E38F8-17FF-3D0A-9FF3-5E662DE2055F}
$PROGID_SystemSoapNotationSoapNotation = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNotation"
' CLSID = {7B769B29-35F0-3BDC-AAE9-E99937F6CDEC}
$PROGID_SystemSoapPositiveIntegerSoapPositiveInteger = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapPositiveInteger"
' CLSID = {D8A4F3EB-E7EC-3620-831A-B052A67C9944}
$PROGID_SystemSoapQNameSoapQName = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapQName"
' CLSID = {D049DC2B-82C3-3350-A1CC-BF69FEE3825E}
$PROGID_SystemSoapTimeSoapTime = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapTime"
' CLSID = {777F668E-3272-39CD-A8B5-860935A35181}
$PROGID_SystemSoapTokenSoapToken = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapToken"
' CLSID = {A7136BDF-B141-3913-9D1C-9BC5AFF21470}
$PROGID_SystemSoapYearMonthSoapYearMonth = "System.Runtime.Remoting.Metadata.W3cXsd2001.SoapYearMonth"
' CLSID = {21F5A790-53EA-3D73-86C3-A5BA6CF65FE9}
$PROGID_SystemObjRefObjRef = "System.Runtime.Remoting.ObjRef"
' CLSID = {1163D0CA-2A02-37C1-BF3F-A9B9E9D49245}
$PROGID_SystemProxyAttributeProxyAttribute = "System.Runtime.Remoting.Proxies.ProxyAttribute"
' CLSID = {24540EBC-316E-35D2-80DB-8A535CAF6A35}
$PROGID_SystemRemotingExceptionRemotingException = "System.Runtime.Remoting.RemotingException"
' CLSID = {3CDED51A-86B4-39F0-A12A-5D1FDCED6546}
$PROGID_SystemRemotingTimeoutExceptionRemotingTimeoutException = "System.Runtime.Remoting.RemotingTimeoutException"
' CLSID = {DB13821E-9835-3958-8539-1E021399AB6C}
$PROGID_SystemServerExceptionServerException = "System.Runtime.Remoting.ServerException"
' CLSID = {BC5062B6-79E8-3F19-A87E-F9DAF826960C}
$PROGID_SystemEnterpriseServicesHelperEnterpriseServicesHelper = "System.Runtime.Remoting.Services.EnterpriseServicesHelper"
' CLSID = {E822F35C-DDC2-3FB2-9768-A2AEBCED7C40}
$PROGID_SystemTrackingServicesTrackingServices = "System.Runtime.Remoting.Services.TrackingServices"
' CLSID = {D23D2F41-1D69-3E03-A275-32AE381223AC}
$PROGID_SystemFormatterConverterFormatterConverter = "System.Runtime.Serialization.FormatterConverter"
' CLSID = {50369004-DB9A-3A75-BE7A-1D0EF017B9D3}
$PROGID_SystemBinaryFormatterBinaryFormatter = "System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"
' CLSID = {CF8F7FCF-94FE-3516-90E9-C103156DD2D5}
$PROGID_SystemInternalRMInternalRM = "System.Runtime.Serialization.Formatters.InternalRM"
' CLSID = {A8D058C4-D923-3859-9490-D3888FC90439}
$PROGID_SystemSoapFaultSoapFault = "System.Runtime.Serialization.Formatters.SoapFault"
' CLSID = {E772BBE6-CB52-3C19-876A-D1BFA2305F4E}
$PROGID_SystemSoapMessageSoapMessage = "System.Runtime.Serialization.Formatters.SoapMessage"
' CLSID = {4F272C37-F0A8-350C-867B-2C03B2B16B80}
$PROGID_SystemObjectIDGeneratorObjectIDGenerator = "System.Runtime.Serialization.ObjectIDGenerator"
' CLSID = {18B1C7EE-68E3-35BB-9E40-469A223285F7}
$PROGID_SystemOnDeserializedAttributeOnDeserializedAttribute = "System.Runtime.Serialization.OnDeserializedAttribute"
' CLSID = {30AC0B94-3BDB-3199-8A5D-ECA0C5458381}
$PROGID_SystemOnDeserializingAttributeOnDeserializingAttribute = "System.Runtime.Serialization.OnDeserializingAttribute"
' CLSID = {6F8527BF-5AAD-3236-B639-A05177332EFE}
$PROGID_SystemOnSerializedAttributeOnSerializedAttribute = "System.Runtime.Serialization.OnSerializedAttribute"
' CLSID = {9BF86F6E-B0E1-348B-9627-6970672EB3D3}
$PROGID_SystemOnSerializingAttributeOnSerializingAttribute = "System.Runtime.Serialization.OnSerializingAttribute"
' CLSID = {1C97EF1D-74ED-3D21-84A4-8631D959634A}
$PROGID_SystemOptionalFieldAttributeOptionalFieldAttribute = "System.Runtime.Serialization.OptionalFieldAttribute"
' CLSID = {57154C7C-EDB2-3BFD-A8BA-924C60913EBF}
$PROGID_SystemSerializationExceptionSerializationException = "System.Runtime.Serialization.SerializationException"
' CLSID = {88C8A919-EB24-3CCA-84F7-2EA82BB3F3ED}
$PROGID_SystemSurrogateSelectorSurrogateSelector = "System.Runtime.Serialization.SurrogateSelector"
' CLSID = {5610F042-FF1D-36D0-996C-68F7A207D1F0}
$PROGID_SystemAllowPartiallyTrustedCallersAttributeAllowPartiallyTrustedCallersAttribute = "System.Security.AllowPartiallyTrustedCallersAttribute"
' CLSID = {9EA60ECA-3DCD-340F-8E95-67845D185999}
$PROGID_SystemCryptoConfigCryptoConfig = "System.Security.Cryptography.CryptoConfig"
' CLSID = {7F8C7DC5-D8B4-3758-981F-02AF6B42461A}
$PROGID_SystemCryptographicExceptionCryptographicException = "System.Security.Cryptography.CryptographicException"
' CLSID = {C41FA05C-8A7A-3157-8166-4104BB4925BA}
$PROGID_SystemCryptographicUnexpectedOperationExceptionCryptographicUnexpectedOperationException = "System.Security.Cryptography.CryptographicUnexpectedOperationException"
' CLSID = {AF60343F-6C7B-3761-839F-0C44E3CA06DA}
$PROGID_SystemCspParametersCspParameters = "System.Security.Cryptography.CspParameters"
' CLSID = {B6EB52D5-BB1C-3380-8BCA-345FF43F4B04}
$PROGID_SystemDESCryptoServiceProviderDESCryptoServiceProvider = "System.Security.Cryptography.DESCryptoServiceProvider"
' CLSID = {673DFE75-9F93-304F-ABA8-D2A86BA87D7C}
$PROGID_SystemDSACryptoServiceProviderDSACryptoServiceProvider = "System.Security.Cryptography.DSACryptoServiceProvider"
' CLSID = {1F17C39C-99D5-37E0-8E98-8F27044BD50A}
$PROGID_SystemDSASignatureDeformatterDSASignatureDeformatter = "System.Security.Cryptography.DSASignatureDeformatter"
' CLSID = {8F6D198C-E66F-3A87-AA3F-F885DD09EA13}
$PROGID_SystemDSASignatureFormatterDSASignatureFormatter = "System.Security.Cryptography.DSASignatureFormatter"
' CLSID = {C1ABB475-F198-39D5-BF8D-330BC7189661}
$PROGID_SystemFromBase64TransformFromBase64Transform = "System.Security.Cryptography.FromBase64Transform"
' CLSID = {A7EDDCB5-6043-3988-921C-25E3DEE6322B}
$PROGID_SystemHMACMD5HMACMD5 = "System.Security.Cryptography.HMACMD5"
' CLSID = {20051D1B-321F-3E4D-A3DA-5FBE892F7EC5}
$PROGID_SystemHMACRIPEMD160HMACRIPEMD160 = "System.Security.Cryptography.HMACRIPEMD160"
' CLSID = {00B01B2E-B1FE-33A6-AD40-57DE8358DC7D}
$PROGID_SystemHMACSHA1HMACSHA1 = "System.Security.Cryptography.HMACSHA1"
' CLSID = {2C314899-8F99-3041-A49D-2F6AFC0E6296}
$PROGID_SystemHMACSHA256HMACSHA256 = "System.Security.Cryptography.HMACSHA256"
' CLSID = {AE53ED01-CAB4-39CE-854A-8BF544EEEC35}
$PROGID_SystemHMACSHA384HMACSHA384 = "System.Security.Cryptography.HMACSHA384"
' CLSID = {477A7D8E-8D26-3959-88F6-F6AB7E7F50CF}
$PROGID_SystemHMACSHA512HMACSHA512 = "System.Security.Cryptography.HMACSHA512"
' CLSID = {39B68485-6773-3C46-82E9-56D8F0B4570C}
$PROGID_SystemMACTripleDESMACTripleDES = "System.Security.Cryptography.MACTripleDES"
' CLSID = {D2548BF2-801A-36AF-8800-1F11FBF54361}
$PROGID_SystemMD5CryptoServiceProviderMD5CryptoServiceProvider = "System.Security.Cryptography.MD5CryptoServiceProvider"
' CLSID = {7AE844F0-ECA8-3F15-AE27-AFA21A2AA6F8}
$PROGID_SystemPKCS1MaskGenerationMethodPKCS1MaskGenerationMethod = "System.Security.Cryptography.PKCS1MaskGenerationMethod"
' CLSID = {62E92675-CB77-3FC9-8597-1A81A5F18013}
$PROGID_SystemRC2CryptoServiceProviderRC2CryptoServiceProvider = "System.Security.Cryptography.RC2CryptoServiceProvider"
' CLSID = {1F9F18A3-EFC0-3913-84A5-90678A4A9A80}
$PROGID_SystemRijndaelManagedRijndaelManaged = "System.Security.Cryptography.RijndaelManaged"
' CLSID = {3D367908-928F-3C13-8B93-5E1718820F6D}
$PROGID_SystemRIPEMD160ManagedRIPEMD160Managed = "System.Security.Cryptography.RIPEMD160Managed"
' CLSID = {40031115-09D2-3851-A13F-56930BE48038}
$PROGID_SystemRNGCryptoServiceProviderRNGCryptoServiceProvider = "System.Security.Cryptography.RNGCryptoServiceProvider"
' CLSID = {D9035152-6B1F-33E3-86F4-411CD21CDE0E}
$PROGID_SystemRSACryptoServiceProviderRSACryptoServiceProvider = "System.Security.Cryptography.RSACryptoServiceProvider"
' CLSID = {4D187AC2-D815-3B7E-BCEA-8E0BBC702F7C}
$PROGID_SystemRSAOAEPKeyExchangeDeformatterRSAOAEPKeyExchangeDeformatter = "System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter"
' CLSID = {A0E2E749-63CE-3651-8F4F-F5F996344C32}
$PROGID_SystemRSAOAEPKeyExchangeFormatterRSAOAEPKeyExchangeFormatter = "System.Security.Cryptography.RSAOAEPKeyExchangeFormatter"
' CLSID = {EE96F4E1-377E-315C-AEF5-874DC8C7A2AA}
$PROGID_SystemRSAPKCS1KeyExchangeDeformatterRSAPKCS1KeyExchangeDeformatter = "System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter"
' CLSID = {92755472-2059-3F96-8938-8AC767B5187B}
$PROGID_SystemRSAPKCS1KeyExchangeFormatterRSAPKCS1KeyExchangeFormatter = "System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter"
' CLSID = {6F674828-9081-3B45-BC39-791BD84CCF8F}
$PROGID_SystemRSAPKCS1SignatureDeformatterRSAPKCS1SignatureDeformatter = "System.Security.Cryptography.RSAPKCS1SignatureDeformatter"
' CLSID = {7BC115CD-1EE2-3068-894D-E3D3F7632F40}
$PROGID_SystemRSAPKCS1SignatureFormatterRSAPKCS1SignatureFormatter = "System.Security.Cryptography.RSAPKCS1SignatureFormatter"
' CLSID = {FC13A7D5-E2B3-37BA-B807-7FA6238284D5}
$PROGID_SystemSHA1CryptoServiceProviderSHA1CryptoServiceProvider = "System.Security.Cryptography.SHA1CryptoServiceProvider"
' CLSID = {FDF9C30D-CCAB-3E2D-B584-9E24CE8038E3}
$PROGID_SystemSHA1ManagedSHA1Managed = "System.Security.Cryptography.SHA1Managed"
' CLSID = {44181B13-AE94-3CFB-81D1-37DB59145030}
$PROGID_SystemSHA256ManagedSHA256Managed = "System.Security.Cryptography.SHA256Managed"
' CLSID = {7FD3958D-0A14-3001-8074-0D15EAD7F05C}
$PROGID_SystemSHA384ManagedSHA384Managed = "System.Security.Cryptography.SHA384Managed"
' CLSID = {A6673C32-3943-3BBB-B476-C09A0EC0BCD6}
$PROGID_SystemSHA512ManagedSHA512Managed = "System.Security.Cryptography.SHA512Managed"
' CLSID = {3FA7A1C5-812C-3B56-B957-CB14AF670C09}
$PROGID_SystemSignatureDescriptionSignatureDescription = "System.Security.Cryptography.SignatureDescription"
' CLSID = {5F3A0F8D-5EF9-3AD5-94E0-53AFF8BCE960}
$PROGID_SystemToBase64TransformToBase64Transform = "System.Security.Cryptography.ToBase64Transform"
' CLSID = {DAA132BF-1170-3D8B-A0EF-E2F55A68A91D}
$PROGID_SystemTripleDESCryptoServiceProviderTripleDESCryptoServiceProvider = "System.Security.Cryptography.TripleDESCryptoServiceProvider"
' CLSID = {4C69C54F-9824-38CC-8387-A22DC67E0BAB}
$PROGID_SystemX509CertificateX509Certificate = "System.Security.Cryptography.X509Certificates.X509Certificate"
' CLSID = {ECC82A10-B731-3A01-8A17-AC0DDD7666CF}
$PROGID_SystemHostProtectionExceptionHostProtectionException = "System.Security.HostProtectionException"
' CLSID = {84589833-40D7-36E2-8545-67A92B97C408}
$PROGID_SystemHostSecurityManagerHostSecurityManager = "System.Security.HostSecurityManager"
' CLSID = {29A6CF6F-D663-31A7-9210-1347871681FC}
$PROGID_SystemGacIdentityPermissionGacIdentityPermission = "System.Security.Permissions.GacIdentityPermission"
' CLSID = {AD664904-FE8A-3217-BBF5-E6AB1D998F5F}
$PROGID_SystemHostProtectionAttributeHostProtectionAttribute = "System.Security.Permissions.HostProtectionAttribute"
' CLSID = {06B81C12-A5DA-340D-AFF7-FA1453FBC29A}
$PROGID_SystemAllMembershipConditionAllMembershipCondition = "System.Security.Policy.AllMembershipCondition"
' CLSID = {3DDB2114-9285-30A6-906D-B117640CA927}
$PROGID_SystemApplicationDirectoryMembershipConditionApplicationDirectoryMembershipCondition = "System.Security.Policy.ApplicationDirectoryMembershipCondition"
' CLSID = {A5448B7A-AA07-3C56-B42B-7D881FA10934}
$PROGID_SystemApplicationTrustApplicationTrust = "System.Security.Policy.ApplicationTrust"
' CLSID = {62545937-20A9-3D0F-B04B-322E854EACB0}
$PROGID_SystemEvidenceEvidence = "System.Security.Policy.Evidence"
' CLSID = {EE24A2C3-3AA2-33DA-8731-A4FCC1105813}
$PROGID_SystemGacInstalledGacInstalled = "System.Security.Policy.GacInstalled"
' CLSID = {390E92C9-FA66-3357-BEF2-45A1F34186B9}
$PROGID_SystemGacMembershipConditionGacMembershipCondition = "System.Security.Policy.GacMembershipCondition"
' CLSID = {89D26277-8408-3FC8-BD44-CF5F0E614C82}
$PROGID_SystemPolicyExceptionPolicyException = "System.Security.Policy.PolicyException"
' CLSID = {AFAEF10F-1BC4-351F-886A-878A265C1862}
$PROGID_SystemTrustManagerContextTrustManagerContext = "System.Security.Policy.TrustManagerContext"
' CLSID = {EEF05C76-5C98-3685-A69C-6E1A26A7F846}
$PROGID_SystemSecurityExceptionSecurityException = "System.Security.SecurityException"
' CLSID = {7AE01D6C-BEE7-38F6-9A86-329D8A917803}
$PROGID_SystemSuppressUnmanagedCodeSecurityAttributeSuppressUnmanagedCodeSecurityAttribute = "System.Security.SuppressUnmanagedCodeSecurityAttribute"
' CLSID = {7E3393AB-2AB2-320B-8F6F-EAB6F5CF2CAF}
$PROGID_SystemUnverifiableCodeAttributeUnverifiableCodeAttribute = "System.Security.UnverifiableCodeAttribute"
' CLSID = {EBAA029C-01C0-32B6-AAE6-FE21ADFC3E5D}
$PROGID_SystemVerificationExceptionVerificationException = "System.Security.VerificationException"
' CLSID = {E38DA416-8050-3786-8201-46F187C15213}
$PROGID_SystemXmlSyntaxExceptionXmlSyntaxException = "System.Security.XmlSyntaxException"
' CLSID = {89BCC804-53A5-3EB2-A342-6282CC410260}
$PROGID_SystemSerializableAttributeSerializableAttribute = "System.SerializableAttribute"
' CLSID = {9C125A6F-EAE2-3FC1-97A1-C0DCEAB0B5DF}
$PROGID_SystemStackOverflowExceptionStackOverflowException = "System.StackOverflowException"
' CLSID = {50AAD4C2-61FA-3B1F-8157-5BA3B27AEE61}
$PROGID_SystemSTAThreadAttributeSTAThreadAttribute = "System.STAThreadAttribute"
' CLSID = {4224AC84-9B11-3561-8923-C893CA77ACBE}
$PROGID_SystemSystemExceptionSystemException = "System.SystemException"
' CLSID = {9E28EF95-9C6F-3A00-B525-36A76178CC9C}
$PROGID_SystemASCIIEncodingASCIIEncoding = "System.Text.ASCIIEncoding"
' CLSID = {E724B749-18D6-36AB-9F6D-09C36D9C6016}
$PROGID_SystemStringBuilderStringBuilder = "System.Text.StringBuilder"
' CLSID = {A0F5F5DC-337B-38D7-B1A3-FB1B95666BBF}
$PROGID_SystemUnicodeEncodingUnicodeEncoding = "System.Text.UnicodeEncoding"
' CLSID = {3C9DCA8B-4410-3143-B801-559553EB6725}
$PROGID_SystemUTF7EncodingUTF7Encoding = "System.Text.UTF7Encoding"
' CLSID = {8C40D44A-4EDE-3760-9B61-50255056D3C7}
$PROGID_SystemUTF8EncodingUTF8Encoding = "System.Text.UTF8Encoding"
' CLSID = {D74D613D-F27F-311B-A9A3-27EBC63A1A5D}
$PROGID_SystemMutexMutex = "System.Threading.Mutex"
' CLSID = {7FE87A55-1321-3D9F-8FEF-CD2F5E8AB2E9}
$PROGID_SystemOverlappedOverlapped = "System.Threading.Overlapped"
' CLSID = {9173D971-B142-38A5-8488-D10A9DCF71B0}
$PROGID_SystemReaderWriterLockReaderWriterLock = "System.Threading.ReaderWriterLock"
' CLSID = {48A75519-CB7A-3D18-B91E-BE62EE842A3E}
$PROGID_SystemSynchronizationLockExceptionSynchronizationLockException = "System.Threading.SynchronizationLockException"
' CLSID = {27E986E1-BAEC-3D48-82E4-14169CA8CECF}
$PROGID_SystemThreadInterruptedExceptionThreadInterruptedException = "System.Threading.ThreadInterruptedException"
' CLSID = {3E5509F0-1FB9-304D-8174-75D6C9AFE5DA}
$PROGID_SystemThreadStateExceptionThreadStateException = "System.Threading.ThreadStateException"
' CLSID = {FFC9F9AE-E87A-3252-8E25-B22423A40065}
$PROGID_SystemThreadStaticAttributeThreadStaticAttribute = "System.ThreadStaticAttribute"
' CLSID = {EAA78D4A-20A3-3FDE-AB72-D3D55E3AEFE6}
$PROGID_SystemTimeoutExceptionTimeoutException = "System.TimeoutException"
' CLSID = {112BC2E7-9EF9-3648-AF9E-45C0D4B89929}
$PROGID_SystemTypeLoadExceptionTypeLoadException = "System.TypeLoadException"
' CLSID = {D6D2034D-5F67-30D7-9CC5-452F2C46694F}
$PROGID_SystemTypeUnloadedExceptionTypeUnloadedException = "System.TypeUnloadedException"
' CLSID = {75215200-A2FE-30F6-A34B-8F1A1830358E}
$PROGID_SystemUnauthorizedAccessExceptionUnauthorizedAccessException = "System.UnauthorizedAccessException"
' CLSID = {43CD41AD-3B78-3531-9031-3059E0AA64EB}
$PROGID_SystemVersionVersion = "System.Version"


Eros Olmi

José is a genius, that is fact.



Now the question: what is an DISPATCH variable in memory? a 32bit pointer? A variant?

SIZEOF(whateverDISPATCHVariable) is not supported by PB so I cannot know.

Thanks a lot
Eros
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

José Roca


Eros Olmi

Thanks José.

I was making some experiment with your code. I would like to have an array of variant parameters instead of multiple single variant variables.
Calling a class method passing a variant array element seems not supported.

  '...
  REDIM vPrm(1 to 1) as VARIANT
  '...
  Object Call oStack(1).Push(vPrm(1))


I get a compile code 422: "Scalar variable expected". Can it be?

Thanks
Eros
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

José Roca

Quote
I get a compile code 422: "Scalar variable expected". Can it be?

Sure. COM doesn't know anything of PB's arrays. It uses safearrays.

Anyway, you can't push and pop arrays with the Push and Pop methods of the System.Collections.Stack class, but just one element.

Eros Olmi

Well, because PB is compiling my code, I thought PB was doing the job for me.

1 VARIANT variable is equal to 1 array element of a VARIANT array from a programming point of view.
I'm not passing an array of variants but just a single variant (in this case an element of).

Anyhow, thanks a lot for your reply.
I will continue to experiment your fantastic code.
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

José Roca

 
Quote
1 VARIANT variable is equal to 1 array element of a VARIANT array from a programming point of view.
I'm not passing an array of variants but just a single variant (in this case an element of).

With standard functions and direct interface calls, if the parameter is a BYREF VARIANT, the compiler will pass the address of the referenced element of the array. But Automation doesn't work this way. Automation will fill a VariantArgs array with the passed parameters and then fill a DISPPARAMS structure with some other data and the address of the VariantArgs array. And an address to a PowerBASIC array of variants is not a valid parameter. The compiler could be changed to build a safearray under the hood with the passed array, but this is not currently supported. In any case, if the parameter expects a single BYREF VARIANT, and you pass a safearray, even if it has only one element, it won't work. Don't ask me why I hate Automation :)

José Roca

#13
 
BTW notice that I have used a class just to make it easier to use the code, but only an instance of the class can be created because the CLR runtime can only be loaded once in the same process.

Also, Automation and late binding must be used to call the methods and properties of the classes because they are dynamic properties (there is not a virtual table).

Greg Lyon

QuoteSystem.DateTime if not a cocreatable class, but an structure. This is a list of the ProgIDs in mscorlib: ...

I see, bummer. I assumed all the classes in mscorlib.dll would be usable.