author | Wuzzy <Wuzzy2@mail.ru> |
Wed, 14 Mar 2018 21:46:07 +0100 | |
changeset 13207 | d948d39e5da8 |
parent 12213 | bb5522e88ab2 |
permissions | -rw-r--r-- |
// Windows/Handle.h #ifndef __WINDOWS_HANDLE_H #define __WINDOWS_HANDLE_H namespace NWindows { class CHandle { protected: HANDLE _handle; public: operator HANDLE() { return _handle; } CHandle(): _handle(NULL) {} ~CHandle() { Close(); } bool Close() { if (_handle == NULL) return true; if (!::CloseHandle(_handle)) return false; _handle = NULL; return true; } void Attach(HANDLE handle) { _handle = handle; } HANDLE Detach() { HANDLE handle = _handle; _handle = NULL; return handle; } }; } #endif