第一章:创建AppDomain 1、创建AppDomain对象 【Enter】 --> System.AppDomain public static AppDomain CreateDomain ( string friendlyName【??】 ) 【OUT】AppDomain
【说明】 AppDomain对象非创建产生("NotSupported_Constructor")... 由VSTOLoader发起调用。?创建域用于准备PowerPoint的调用。 【CallList】 LV_1 public static AppDomainCreateDomain(string friendlyName) LV_1_1 public static AppDomainCreateDomain (string friendlyName, System.Security.Policy.EvidencesecurityInfo, AppDomainSetup info) LV_1_1_1 public static AppDomainCreateDomain (string friendlyName, System.Security.Policy.EvidencesecurityInfo, AppDomainSetup info) LV_1_1_1_1 internal static AppDomain InternalCreateDomain (string friendlyName,System.Security.Policy.Evidence securityInfo, AppDomainSetup info) LV_1_1_1_1_A:创建AppDomainSetup --> info = new AppDomainSetup(); LV_1_1_1_1_B:获得TargetFrameworkName -->info.TargetFrameworkName= CurrentDomain.GetTargetFrameworkName(); LV_1_1_1_1_C:创建securityInfo --> new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Demand(); -->CheckDomainCreationEvidence(info, securityInfo); LV_1_1_1_1_D:#创建AppDomain --> return nCreateDomain ( friendlyName, info, securityInfo, (securityInfo == null) ? CurrentDomain.InternalEvidence : null, CurrentDomain.GetSecurityDescriptor() ); LV_1_1_1_1_D_1:#创建AppDomain --> [MethodImpl(MethodImplOptions.InternalCall), SecurityCritical] internal static extern AppDomain nCreateDomain ( string friendlyName, AppDomainSetup setup, System.Security.Policy.EvidenceprovidedSecurityInfo, System.Security.Policy.EvidencecreatorsSecurityInfo, IntPtr parentSecurityDescriptor ); 注解> MethodImpl属性指示函数为.NET内核原生实现,直接引用进类库使用。 1、创建并填充AppDomainSetup对象 【Enter】 --> System.AppDomain SetupDomain ( boolallowRedirects, 【true】 string path, 【D:\Program Files\Microsoft Office\Office14\】 string configFile,【D:\Program Files\MicrosoftOffice\Office14\powerpnt.exe.config】 string[] propertyNames,【null】 string[]propertyValues【null】 ) 【OUT】
|