Example #1
0
        /// <summary>
        /// Returns a shallow copy of this object with its properties modified
        /// based on the function's parameters
        /// </summary>
        /// <param name="level"></param>
        /// <param name="hexKeywords"></param>
        /// <param name="CLR"></param>
        /// <returns></returns>
        public EtwProviderType Copy(XmlProviderLevel level, string hexKeywords, bool CLR)
        {
            EtwProviderType rv = (EtwProviderType)this.MemberwiseClone();

            rv.Level       = level;
            rv.HexKeywords = hexKeywords;
            rv.CLR         = CLR;

            return(rv);
        }
Example #2
0
        private EtwProviderType GenerateKernelProvider()
        {
            EtwProviderType provider = new EtwProviderType()
            {
                Name                   = "KernelModeProvider",
                KernelMode             = true,
                CLR                    = true,
                HexKeywords            = GenerateKernelKeywords(_kernelFlags),
                KernelStackHexKeywords = GenerateKernelKeywords(_kernelStackFlags),
            };

            return(provider);
        }
Example #3
0
        internal ProfilingTasksType GenerateTasks()
        {
            // get the kernel flags first
            EtwProviderType kernelProvider = GenerateKernelProvider();

            // get the regular providers
            List <EtwProviderType> etwProviders = GenerateEtwProviderList();

            // add the kernel provider to the list of providers we will be profiling
            etwProviders.Insert(0, kernelProvider);

            // now generate the correct XML object sequence tree
            ProfilingTasksType tasks = new ProfilingTasksType();

            tasks.Task = new TaskType[] { new TaskType()
                                          {
                                              Name = "WPProfiler"
                                          } };

            // EtwProvider is an array, go figure
            tasks.Task[0].EtwProvider = etwProviders.ToArray();

            return(tasks);
        }
        private EtwProviderType GenerateKernelProvider()
        {
            EtwProviderType provider = new EtwProviderType()
            {
                Name = "KernelModeProvider",
                KernelMode = true,
                CLR = true,
                HexKeywords = GenerateKernelKeywords(_kernelFlags),
                KernelStackHexKeywords = GenerateKernelKeywords(_kernelStackFlags),
            };

            return provider;
        }