Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / sandbox / win / wow_helper / target_code.cc
blob8da27cc57648dfb86c0016dfbf21b27cd2b8dd3e
1 // Copyright (c) 2006-2008 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.
5 #include "sandbox/win/wow_helper/target_code.h"
7 namespace sandbox {
9 // Hooks NtMapViewOfSection to detect the load of dlls.
10 NTSTATUS WINAPI TargetNtMapViewOfSection(
11 PatchInfo *patch_info, HANDLE process, PVOID *base, ULONG_PTR zero_bits,
12 SIZE_T commit_size, PLARGE_INTEGER offset, PSIZE_T view_size,
13 SECTION_INHERIT inherit, ULONG allocation_type, ULONG protect) {
14 NTSTATUS ret = patch_info->orig_MapViewOfSection(patch_info->section, process,
15 base, zero_bits, commit_size,
16 offset, view_size, inherit,
17 allocation_type, protect);
19 LARGE_INTEGER timeout;
20 timeout.QuadPart = -(5 * 10000000); // 5 seconds.
22 // The wait is alertable.
23 patch_info->signal_and_wait(patch_info->dll_load, patch_info->continue_load,
24 TRUE, &timeout);
26 return ret;
29 // Marks the end of the code to copy to the target process.
30 NTSTATUS WINAPI TargetEnd() {
31 return STATUS_SUCCESS;
34 } // namespace sandbox