current_module.h 592 B

1234567891011121314151617
  1. // Copyright 2016 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef BASE_WIN_CURRENT_MODULE_H_
  5. #define BASE_WIN_CURRENT_MODULE_H_
  6. #include <windows.h>
  7. // http://blogs.msdn.com/oldnewthing/archive/2004/10/25/247180.aspx
  8. extern "C" IMAGE_DOS_HEADER __ImageBase;
  9. // Returns the HMODULE of the dll the macro was expanded in.
  10. // Only use in cc files, not in h files.
  11. #define CURRENT_MODULE() reinterpret_cast<HMODULE>(&__ImageBase)
  12. #endif // BASE_WIN_CURRENT_MODULE_H_