aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/PlatWin.h
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-11-22 09:47:07 +1100
committerNeil <nyamatongwe@gmail.com>2021-11-22 09:47:07 +1100
commit0ef4d6169062ed872c11c176af07b366b636c45e (patch)
treeb4e596c798c6e5f938fc9bfe5c4ae8a75ecb66a4 /win32/PlatWin.h
parent8904b645419b8deb202046bbc785440d0d006404 (diff)
downloadscintilla-mirror-0ef4d6169062ed872c11c176af07b366b636c45e.tar.gz
Move common Win32 functions for releasing IUnknown* and DLL function access into
new WinType.h header.
Diffstat (limited to 'win32/PlatWin.h')
-rw-r--r--win32/PlatWin.h31
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;