/
githubmirror
/
x64dbg
Обзор
Документация
Войти
/
githubmirror
/
x64dbg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
development
src/dbg/handle.h
47 строк
864 B
Duncan Ogilvie
Fix compilation on MinGW (clang)
17 мар 2025, 04:32
17 мар 2025, 04:32
9b301b3
Код
Авторство
О чём код?
#ifndef _HANDLE_H #define _HANDLE_H #include <windows.h> class Handle { public: Handle(HANDLE h = nullptr) : mHandle(h) { } Handle(const Handle &) = delete; Handle(Handle && o) { mHandle = o.mHandle; o.mHandle = nullptr; } ~Handle() { Close(); } void Close() { if(*this) { DWORD dwFlags = 0; if(GetHandleInformation(mHandle, &dwFlags) && !(dwFlags & HANDLE_FLAG_PROTECT_FROM_CLOSE)) CloseHandle(mHandle); mHandle = INVALID_HANDLE_VALUE; } } operator HANDLE() { return mHandle; } explicit operator bool() const { return mHandle != nullptr && mHandle != INVALID_HANDLE_VALUE; } private: HANDLE mHandle; }; #endif //_HANDLE_H