Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1998-2000 Microsoft Corporation
  3. Module Name:
  4. bintrans.h
  5. Abstract:
  6. Header for calling bintrans.dll if it exists
  7. Author:
  8. 22-Aug-2000 v-cspira (charles spirakis)
  9. --*/
  10. #ifndef _BINTRANS_INCLUDE
  11. #define _BINTRANS_INCLUDE
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #if !defined(_WOW64BTAPI_)
  16. #define WOW64BTAPI DECLSPEC_IMPORT
  17. #else
  18. #define WOW64BTAPI
  19. #endif
  20. //
  21. // Cache manipulation functions and Dll notification
  22. //
  23. WOW64BTAPI VOID BTCpuFlushInstructionCache ( PVOID BaseAddress, ULONG Length );
  24. WOW64BTAPI VOID BTCpuNotifyDllLoad ( LPWSTR DllName, PVOID DllBase, ULONG DllSize );
  25. WOW64BTAPI VOID BTCpuNotifyDllUnload ( PVOID DllBase );
  26. //
  27. // Init and term APIs
  28. //
  29. WOW64BTAPI NTSTATUS BTCpuProcessInit(PWSTR pImageName, PSIZE_T pCpuThreadDataSize);
  30. WOW64BTAPI NTSTATUS BTCpuProcessTerm(HANDLE ProcessHandle);
  31. WOW64BTAPI NTSTATUS BTCpuThreadInit(PVOID pPerThreadData);
  32. WOW64BTAPI NTSTATUS BTCpuThreadTerm(VOID);
  33. //
  34. // Execution
  35. //
  36. WOW64BTAPI VOID BTCpuSimulate(VOID);
  37. //
  38. // Exception handling, context manipulation
  39. //
  40. WOW64BTAPI VOID BTCpuResetToConsistentState(PEXCEPTION_POINTERS pExecptionPointers);
  41. WOW64BTAPI VOID BTCpuResetFloatingPoint(VOID);
  42. WOW64BTAPI ULONG BTCpuGetStackPointer(VOID);
  43. WOW64BTAPI VOID BTCpuSetStackPointer(ULONG Value);
  44. WOW64BTAPI VOID BTCpuSetInstructionPointer(ULONG Value);
  45. WOW64BTAPI
  46. NTSTATUS
  47. BTCpuSuspendThread(
  48. IN HANDLE ThreadHandle,
  49. IN HANDLE ProcessHandle,
  50. IN PTEB Teb,
  51. OUT PULONG PreviousSuspendCount OPTIONAL);
  52. WOW64BTAPI
  53. NTSTATUS
  54. BTCpuGetContext(
  55. IN HANDLE ThreadHandle,
  56. IN HANDLE ProcessHandle,
  57. IN PTEB Teb,
  58. OUT PCONTEXT32 Context);
  59. WOW64BTAPI
  60. NTSTATUS
  61. BTCpuSetContext(
  62. IN HANDLE ThreadHandle,
  63. IN HANDLE ProcessHandle,
  64. IN PTEB Teb,
  65. PCONTEXT32 Context);
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif //_BINTRANS_INCLUDE