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. 4 5 #include "sandbox/win/src/nt_internals.h" 6 #include "sandbox/win/src/sandbox_types.h" 7 8 #ifndef SANDBOX_SRC_TARGET_INTERCEPTIONS_H__ 9 #define SANDBOX_SRC_TARGET_INTERCEPTIONS_H__ 10 11 namespace sandbox { 12 13 extern "C" { 14 15 // Interception of NtMapViewOfSection on the child process. 16 // It should never be called directly. This function provides the means to 17 // detect dlls being loaded, so we can patch them if needed. 18 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtMapViewOfSection( 19 NtMapViewOfSectionFunction orig_MapViewOfSection, HANDLE section, 20 HANDLE process, PVOID *base, ULONG_PTR zero_bits, SIZE_T commit_size, 21 PLARGE_INTEGER offset, PSIZE_T view_size, SECTION_INHERIT inherit, 22 ULONG allocation_type, ULONG protect); 23 24 // Interception of NtUnmapViewOfSection on the child process. 25 // It should never be called directly. This function provides the means to 26 // detect dlls being unloaded, so we can clean up our interceptions. 27 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtUnmapViewOfSection( 28 NtUnmapViewOfSectionFunction orig_UnmapViewOfSection, HANDLE process, 29 PVOID base); 30 31 } // extern "C" 32 33 } // namespace sandbox 34 35 #endif // SANDBOX_SRC_TARGET_INTERCEPTIONS_H__ 36