| 748 | } |
| 749 | |
| 750 | DWORD WINAPI DetourGetSizeOfPayloads(_In_opt_ HMODULE hModule) |
| 751 | { |
| 752 | PDETOUR_LOADED_BINARY pBinary = GetPayloadSectionFromModule(hModule); |
| 753 | if (pBinary == NULL) { |
| 754 | // Error set by GetPayloadSectionFromModule. |
| 755 | return 0; |
| 756 | } |
| 757 | |
| 758 | __try { |
| 759 | DETOUR_SECTION_HEADER *pHeader = (DETOUR_SECTION_HEADER *)pBinary; |
| 760 | if (pHeader->cbHeaderSize < sizeof(DETOUR_SECTION_HEADER) || |
| 761 | pHeader->nSignature != DETOUR_SECTION_HEADER_SIGNATURE) { |
| 762 | |
| 763 | SetLastError(ERROR_INVALID_HANDLE); |
| 764 | return 0; |
| 765 | } |
| 766 | SetLastError(NO_ERROR); |
| 767 | return pHeader->cbDataSize; |
| 768 | } |
| 769 | __except(GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ? |
| 770 | EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) { |
| 771 | SetLastError(ERROR_INVALID_HANDLE); |
| 772 | return 0; |
| 773 | } |
| 774 | } |
| 775 | |
| 776 | _Writable_bytes_(*pcbData) |
| 777 | _Readable_bytes_(*pcbData) |
nothing calls this directly
no test coverage detected
searching dependent graphs…