| 845 | } |
| 846 | |
| 847 | BOOL WINAPI DetourFreePayload(_In_ PVOID pvData) |
| 848 | { |
| 849 | BOOL fSucceeded = FALSE; |
| 850 | |
| 851 | // If you have any doubts about the following code, please refer to the comments in DetourCopyPayloadToProcess. |
| 852 | HMODULE hModule = DetourGetContainingModule(pvData); |
| 853 | DETOUR_ASSERT(hModule != NULL); |
| 854 | if (hModule != NULL) { |
| 855 | fSucceeded = VirtualFree(hModule, 0, MEM_RELEASE); |
| 856 | DETOUR_ASSERT(fSucceeded); |
| 857 | if (fSucceeded) { |
| 858 | hModule = NULL; |
| 859 | } |
| 860 | } |
| 861 | |
| 862 | return fSucceeded; |
| 863 | } |
| 864 | |
| 865 | BOOL WINAPI DetourRestoreAfterWithEx(_In_reads_bytes_(cbData) PVOID pvData, |
| 866 | _In_ DWORD cbData) |
no test coverage detected
searching dependent graphs…