diff options
Diffstat (limited to 'win32/PlatWin.h')
-rw-r--r-- | win32/PlatWin.h | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/win32/PlatWin.h b/win32/PlatWin.h index 3ee0d6bb7..68b5dd9ef 100644 --- a/win32/PlatWin.h +++ b/win32/PlatWin.h @@ -43,37 +43,6 @@ inline HWND HwndFromWindow(const Window &w) noexcept { void *PointerFromWindow(HWND hWnd) noexcept; void SetWindowPointer(HWND hWnd, void *ptr) noexcept; -/// Find a function in a DLL and convert to a function pointer. -/// This avoids undefined and conditionally defined behaviour. -template<typename T> -T DLLFunction(HMODULE hModule, LPCSTR lpProcName) noexcept { - if (!hModule) { - return nullptr; - } - FARPROC function = ::GetProcAddress(hModule, lpProcName); - static_assert(sizeof(T) == sizeof(function)); - T fp {}; - memcpy(&fp, &function, sizeof(T)); - return fp; -} - -// Release an IUnknown* and set to nullptr. -// While IUnknown::Release must be noexcept, it isn't marked as such so produces -// warnings which are avoided by the catch. -template <class T> -void ReleaseUnknown(T *&ppUnknown) noexcept { - if (ppUnknown) { - try { - ppUnknown->Release(); - } - catch (...) { - // Never occurs - } - ppUnknown = nullptr; - } -} - - UINT DpiForWindow(WindowID wid) noexcept; int SystemMetricsForDpi(int nIndex, UINT dpi) noexcept; |