/*++ Copyright (c) 1998-2000 Microsoft Corporation Module Name: bintrans.h Abstract: Header for calling bintrans.dll if it exists Author: 22-Aug-2000 v-cspira (charles spirakis) --*/ #ifndef _BINTRANS_INCLUDE #define _BINTRANS_INCLUDE #ifdef __cplusplus extern "C" { #endif #if !defined(_WOW64BTAPI_) #define WOW64BTAPI DECLSPEC_IMPORT #else #define WOW64BTAPI #endif // // Cache manipulation functions and Dll notification // WOW64BTAPI VOID BTCpuFlushInstructionCache ( PVOID BaseAddress, ULONG Length ); WOW64BTAPI VOID BTCpuNotifyDllLoad ( LPWSTR DllName, PVOID DllBase, ULONG DllSize ); WOW64BTAPI VOID BTCpuNotifyDllUnload ( PVOID DllBase ); // // Init and term APIs // WOW64BTAPI NTSTATUS BTCpuProcessInit(PWSTR pImageName, PSIZE_T pCpuThreadDataSize); WOW64BTAPI NTSTATUS BTCpuProcessTerm(HANDLE ProcessHandle); WOW64BTAPI NTSTATUS BTCpuThreadInit(PVOID pPerThreadData); WOW64BTAPI NTSTATUS BTCpuThreadTerm(VOID); // // Execution // WOW64BTAPI VOID BTCpuSimulate(VOID); // // Exception handling, context manipulation // WOW64BTAPI VOID BTCpuResetToConsistentState(PEXCEPTION_POINTERS pExecptionPointers); WOW64BTAPI VOID BTCpuResetFloatingPoint(VOID); WOW64BTAPI ULONG BTCpuGetStackPointer(VOID); WOW64BTAPI VOID BTCpuSetStackPointer(ULONG Value); WOW64BTAPI VOID BTCpuSetInstructionPointer(ULONG Value); WOW64BTAPI NTSTATUS BTCpuSuspendThread( IN HANDLE ThreadHandle, IN HANDLE ProcessHandle, IN PTEB Teb, OUT PULONG PreviousSuspendCount OPTIONAL); WOW64BTAPI NTSTATUS BTCpuGetContext( IN HANDLE ThreadHandle, IN HANDLE ProcessHandle, IN PTEB Teb, OUT PCONTEXT32 Context); WOW64BTAPI NTSTATUS BTCpuSetContext( IN HANDLE ThreadHandle, IN HANDLE ProcessHandle, IN PTEB Teb, PCONTEXT32 Context); #ifdef __cplusplus } #endif #endif //_BINTRANS_INCLUDE