1 // 2 // Copyright (C) Microsoft. All rights reserved. 3 // 4 #ifndef __FXPROBEANDLOCK_H__ 5 #define __FXPROBEANDLOCK_H__ 6 7 extern "C" { 8 9 // 10 // These are defined in a C file in src\support\ProbeAndLock.c 11 // to avoid C++ exception handling issues. 12 // 13 // They do not raise the exception beyond the C function, but 14 // translate it into an NTSTATUS before returning. 15 // 16 17 NTSTATUS 18 FxProbeAndLockForRead( 19 __in PMDL Mdl, 20 __in KPROCESSOR_MODE AccessMode 21 ); 22 23 NTSTATUS 24 FxProbeAndLockForWrite( 25 __in PMDL Mdl, 26 __in KPROCESSOR_MODE AccessMode 27 ); 28 29 NTSTATUS 30 FxProbeAndLockWithAccess( 31 __in PMDL Mdl, 32 __in KPROCESSOR_MODE AccessMode, 33 __in LOCK_OPERATION Operation 34 ); 35 36 } 37 38 #endif // __FXPROBEANDLOCK_H__ 39