Source code
Revision control
Copy as Markdown
Other Tools
// 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 IsCreated() const { return (_handle != NULL); }↩
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↩