/// <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); }
private EtwProviderType GenerateKernelProvider() { EtwProviderType provider = new EtwProviderType() { Name = "KernelModeProvider", KernelMode = true, CLR = true, HexKeywords = GenerateKernelKeywords(_kernelFlags), KernelStackHexKeywords = GenerateKernelKeywords(_kernelStackFlags), }; return(provider); }
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; }