File tree 1 file changed +10
-5
lines changed
1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -1911,35 +1911,40 @@ LONG WINAPI DetourTransactionCommitEx(_Out_opt_ PVOID **pppFailedPointer)
1911
1911
}
1912
1912
}
1913
1913
1914
- // Update any suspended threads.
1915
- for (t = s_pPendingThreads; t != NULL ; t = t->pNext ) {
1916
- CONTEXT cxt;
1917
- cxt.ContextFlags = CONTEXT_CONTROL;
1918
-
1919
1914
#undef DETOURS_EIP
1915
+ #undef DETOURS_CONTEXT_FLAGS
1920
1916
1921
1917
#ifdef DETOURS_X86
1922
1918
#define DETOURS_EIP Eip
1919
+ #define DETOURS_CONTEXT_FLAGS CONTEXT_CONTROL
1923
1920
#endif // DETOURS_X86
1924
1921
1925
1922
#ifdef DETOURS_X64
1926
1923
#define DETOURS_EIP Rip
1924
+ #define DETOURS_CONTEXT_FLAGS (CONTEXT_CONTROL | CONTEXT_INTEGER)
1927
1925
#endif // DETOURS_X64
1928
1926
1929
1927
#ifdef DETOURS_IA64
1930
1928
#define DETOURS_EIP StIIP
1929
+ #define DETOURS_CONTEXT_FLAGS CONTEXT_CONTROL
1931
1930
#endif // DETOURS_IA64
1932
1931
1933
1932
#ifdef DETOURS_ARM
1934
1933
#define DETOURS_EIP Pc
1934
+ #define DETOURS_CONTEXT_FLAGS CONTEXT_CONTROL
1935
1935
#endif // DETOURS_ARM
1936
1936
1937
1937
#ifdef DETOURS_ARM64
1938
1938
#define DETOURS_EIP Pc
1939
+ #define DETOURS_CONTEXT_FLAGS (CONTEXT_CONTROL | CONTEXT_INTEGER)
1939
1940
#endif // DETOURS_ARM64
1940
1941
1941
1942
typedef ULONG_PTR DETOURS_EIP_TYPE;
1942
1943
1944
+ // Update any suspended threads.
1945
+ for (t = s_pPendingThreads; t != NULL ; t = t->pNext ) {
1946
+ CONTEXT cxt;
1947
+ cxt.ContextFlags = DETOURS_CONTEXT_FLAGS;
1943
1948
if (GetThreadContext (t->hThread , &cxt)) {
1944
1949
for (o = s_pPendingOperations; o != NULL ; o = o->pNext ) {
1945
1950
if (o->fIsRemove ) {
You can’t perform that action at this time.
0 commit comments