Example #1
0
        private static async Task <ExecutiveProcess> CreateInternal(DebugClient debugger, ulong address)
        {
            var process = new ExecutiveProcess(address)
            {
                ProcessId       = (uint)await debugger.GetFieldValue(KernelBase, EProcessTypeId, "UniqueProcessId", address),
                ParentProcessId = (uint)await debugger.GetFieldValue(KernelBase, EProcessTypeId, "InheritedFromUniqueProcessId", address),
                Flags           = (ExecutiveProcessFlags)await debugger.GetFieldValue(KernelBase, EProcessTypeId, "Flags", address),
                Flags2          = (ExecutiveProcessFlags2)await debugger.GetFieldValue(KernelBase, EProcessTypeId, "Flags2", address),
                CreateTime      = new TimeSpan((long)await debugger.GetFieldValue(KernelBase, EProcessTypeId, "CreateTime", address)),
                PeakVirtualSize = (ulong)await debugger.GetFieldValue(KernelBase, EProcessTypeId, "PeakVirtualSize", address),
                VirtualSize     = (ulong)await debugger.GetFieldValue(KernelBase, EProcessTypeId, "VirtualSize", address),
                //Name = new string((char*)await debugger.GetFieldValue(_kernelBase, _EProcessTypeId, "ImageFileName", address)),
            };

            return(process);
        }