// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ #define CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ #include #include "base/strings/string16.h" // Represents and facilitates operations on the address range corresponding to a // loaded module. struct ModuleInfo { ModuleInfo() : base_address(0), size(0) { } ModuleInfo(const base::char16* const module_name, uintptr_t module_base_address, uint32_t module_size) : name(module_name), base_address(module_base_address), size(module_size) {} // Sorts modules by their base address. bool operator< (const ModuleInfo& compare) const { return base_address < compare.base_address; } // Identifies if an address is within a module. bool ContainsAddress(uintptr_t address) const { return address >= base_address && address < base_address + size; } base::string16 name; uintptr_t base_address; uint32_t size; }; #endif // CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_