| 522 | |
| 523 | template<class T = void*, class Ldr> |
| 524 | LAZY_IMPORTER_FORCEINLINE static T in(Ldr ldr) noexcept |
| 525 | { |
| 526 | safe_module_enumerator e((const detail::win::LDR_DATA_TABLE_ENTRY_T*)(ldr)); |
| 527 | do { |
| 528 | if(hash(e.value->BaseDllName, get_offset(OHP)) == get_hash(OHP)) |
| 529 | return (T)(e.value->DllBase); |
| 530 | } while(e.next()); |
| 531 | return {}; |
| 532 | } |
| 533 | |
| 534 | template<class T = void*, class Ldr> |
| 535 | LAZY_IMPORTER_FORCEINLINE static T in_cached(Ldr ldr) noexcept |
nothing calls this directly
no test coverage detected