Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: base/win/iat_patch_function.h

Issue 7263009: Reland "Move app/win/* files to base/win/, ui/base/win and chrome/common/ directories." (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/base.gypi ('k') | base/win/iat_patch_function.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef APP_WIN_IAT_PATCH_FUNCTION_H_ 5 #ifndef BASE_WIN_IAT_PATCH_FUNCTION_H_
6 #define APP_WIN_IAT_PATCH_FUNCTION_H_ 6 #define BASE_WIN_IAT_PATCH_FUNCTION_H_
7 #pragma once 7 #pragma once
8 8
9 #include <windows.h> 9 #include <windows.h>
10 10
11 #include "base/base_api.h"
11 #include "base/basictypes.h" 12 #include "base/basictypes.h"
12 13
13 namespace app { 14 namespace base {
14 namespace win { 15 namespace win {
15 16
16 // A class that encapsulates Import Address Table patching helpers and restores 17 // A class that encapsulates Import Address Table patching helpers and restores
17 // the original function in the destructor. 18 // the original function in the destructor.
18 // 19 //
19 // It will intercept functions for a specific DLL imported from another DLL. 20 // It will intercept functions for a specific DLL imported from another DLL.
20 // This is the case when, for example, we want to intercept 21 // This is the case when, for example, we want to intercept
21 // CertDuplicateCertificateContext function (exported from crypt32.dll) called 22 // CertDuplicateCertificateContext function (exported from crypt32.dll) called
22 // by wininet.dll. 23 // by wininet.dll.
23 class IATPatchFunction { 24 class BASE_API IATPatchFunction {
24 public: 25 public:
25 IATPatchFunction(); 26 IATPatchFunction();
26 ~IATPatchFunction(); 27 ~IATPatchFunction();
27 28
28 // Intercept a function in an import table of a specific 29 // Intercept a function in an import table of a specific
29 // module. Save the original function and the import 30 // module. Save the original function and the import
30 // table address. These values will be used later 31 // table address. These values will be used later
31 // during Unpatch 32 // during Unpatch
32 // 33 //
33 // Arguments: 34 // Arguments:
(...skipping 26 matching lines...) Expand all
60 private: 61 private:
61 HMODULE module_handle_; 62 HMODULE module_handle_;
62 void* intercept_function_; 63 void* intercept_function_;
63 void* original_function_; 64 void* original_function_;
64 IMAGE_THUNK_DATA* iat_thunk_; 65 IMAGE_THUNK_DATA* iat_thunk_;
65 66
66 DISALLOW_COPY_AND_ASSIGN(IATPatchFunction); 67 DISALLOW_COPY_AND_ASSIGN(IATPatchFunction);
67 }; 68 };
68 69
69 } // namespace win 70 } // namespace win
70 } // namespace app 71 } // namespace base
71 72
72 #endif // APP_WIN_IAT_PATCH_FUNCTION_H_ 73 #endif // BASE_WIN_IAT_PATCH_FUNCTION_H_
OLDNEW
« no previous file with comments | « base/base.gypi ('k') | base/win/iat_patch_function.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698