internal ModuleInformation(RtlProcessModuleInformation moduleInfo) { this.BaseAddress = moduleInfo.ImageBase; this.Size = moduleInfo.ImageSize; this.Flags = moduleInfo.Flags; this.LoadCount = moduleInfo.LoadCount; int nullIndex = Array.IndexOf<char>(moduleInfo.FullPathName, '\0'); if (nullIndex != -1) this.FileName = new string(moduleInfo.FullPathName, 0, nullIndex); else this.FileName = new string(moduleInfo.FullPathName); this.BaseName = this.FileName.Substring(moduleInfo.OffsetToFileName); }
internal ModuleInformation(RtlProcessModuleInformation moduleInfo) { this.BaseAddress = moduleInfo.ImageBase; this.Size = moduleInfo.ImageSize; this.Flags = moduleInfo.Flags; this.LoadCount = moduleInfo.LoadCount; int nullIndex = Array.IndexOf <char>(moduleInfo.FullPathName, '\0'); if (nullIndex != -1) { this.FileName = new string(moduleInfo.FullPathName, 0, nullIndex); } else { this.FileName = new string(moduleInfo.FullPathName); } this.BaseName = this.FileName.Substring(moduleInfo.OffsetToFileName); }