Exemplo n.º 1
0
 private static extern void SetCanonicalConditionalAptcaList(AppDomainHandle appDomain, string canonicalList);
Exemplo n.º 2
0
 private static extern void SetSecurityHomogeneousFlag(AppDomainHandle domain,
                                                       [MarshalAs(UnmanagedType.Bool)] bool runtimeSuppliedHomogenousGrantSet);
Exemplo n.º 3
0
 private static extern void SetLegacyCasPolicyEnabled(AppDomainHandle domain);
Exemplo n.º 4
0
 private static extern void GetAppDomainManagerType(AppDomainHandle domain,
                                                    StringHandleOnStack retAssembly,
                                                    StringHandleOnStack retType);
Exemplo n.º 5
0
 private static extern void SetAppDomainManagerType(AppDomainHandle domain,
                                                    string assembly,
                                                    string type);
Exemplo n.º 6
0
 private static extern void GetGrantSet(AppDomainHandle domain, ObjectHandleOnStack retGrantSet);
Exemplo n.º 7
0
 private static extern bool GetIsLegacyCasPolicyEnabled(AppDomainHandle domain);
Exemplo n.º 8
0
 private static extern void SetupDomainSecurity(AppDomainHandle appDomain,
                                                ObjectHandleOnStack appDomainEvidence,
                                                IntPtr creatorsSecurityDescriptor,
                                                [MarshalAs(UnmanagedType.Bool)] bool publishAppDomain);
Exemplo n.º 9
0
 private static extern bool DisableFusionUpdatesFromADManager(AppDomainHandle domain);
Exemplo n.º 10
0
        private AppDomainHandle CreateAppDomain(string baseDirectory)
        {
            var friendlyName = String.Format("Graywulf_{0}", Guid.NewGuid());

            // Shadow copying assablies is necessary for the scheduler to work, however it is not supported
            // under Windows 2003. Since web servers still run this, a workaround has to be made here.
            string shadowcopy;
            if (System.Environment.OSVersion.Platform == PlatformID.Win32NT &&
                System.Environment.OSVersion.Version.Major >= 6)
            {
                shadowcopy = "true";
            }
            else
            {
                shadowcopy = "false";
            }

            var setup = new AppDomainSetup()
            {
                ApplicationBase = baseDirectory,
                ApplicationName = AppDomain.CurrentDomain.SetupInformation.ApplicationName,
                ConfigurationFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile,
                DisallowApplicationBaseProbing = false,
                DisallowBindingRedirects = true,
                DisallowCodeDownload = true,
                ShadowCopyFiles = shadowcopy,

                //CachePath = "",
                //DynamicBase = "",
                //PrivateBinPath = "",
                //PrivateBinPathProbe = "",
                //ShadowCopyDirectories = "",
            };

            // Create the domain
            var ad = AppDomain.CreateDomain(friendlyName, null, setup);

            // Create and unwrap the handler that allows interaction with the domain
            var helper = AppDomainHelper.CreateInstanceAndUnwrap(ad);

            // Create and return the handle to the new domain
            var handle = new AppDomainHandle()
            {
                AppDomain = ad,
                Helper = helper,
            };

            // Save handle for future use
            appDomains.Add(ad.Id, handle);

            return handle;
        }
Exemplo n.º 11
0
 private static extern void SetSecurityHomogeneousFlag(AppDomainHandle domain,
                                                       [MarshalAs(UnmanagedType.Bool)] bool runtimeSuppliedHomogenousGrantSet);
Exemplo n.º 12
0
 private static extern bool DisableFusionUpdatesFromADManager(AppDomainHandle domain);
Exemplo n.º 13
0
 private static extern void GetGrantSet(AppDomainHandle domain, ObjectHandleOnStack retGrantSet);
Exemplo n.º 14
0
 private static extern void SetupDomainSecurity(AppDomainHandle appDomain,
                                                ObjectHandleOnStack appDomainEvidence,
                                                IntPtr creatorsSecurityDescriptor,
                                                [MarshalAs(UnmanagedType.Bool)] bool publishAppDomain);