Developer knowledge network · moderated exchange

UnreliableCode қауымдастығы

Әзірлеушілерді зерттеу, кері инженерия және кодтау қауымдастығы

Knowledge indexТірі
4Categories
919Threads
2.8KЖазбалар
Release

RAII Smart Handle Wrappers for Windows Kernel Objects & Shared Memory [v2.4 Technical Discussion]

ptr_arithmetic
C++ Wizard
MEMBER
Өкіл: 162
Қосылу күні: May 2018
Хабарламалар: 73
Рахмет: 42
3 апта бұрын · Jul 29, 2026 8:13 PM
#1

Modern C++20 RAII handle management to eliminate handle leaks:

CPP
struct HandleDeleter { void operator()(HANDLE h) const { if (h && h != INVALID_HANDLE_VALUE) CloseHandle(h); } };
using UniqueHandle = std::unique_ptr<void, HandleDeleter>;

UniqueHandle hProcess(OpenProcess(PROCESS_ALL_ACCESS, FALSE, targetPid));
if (!hProcess) return false;
// Automatically calls CloseHandle when exiting scope!

Guarantees exception safety and zero dangling zombie process handles!

null_deref
Reverse Engineer
MEMBER
Өкіл: 79
Қосылу күні: Jan 2019
Хабарламалар: 42
Рахмет: 46
3 апта бұрын · Jul 30, 2026 3:47 AM
#2

RAII smart handles prevent resource leaks during early error return branches. Clean modern C++.

vtable_slayer
Senior Reverser
MEMBER
Өкіл: 215
Қосылу күні: Mar 2018
Хабарламалар: 86
Рахмет: 61
3 апта бұрын · Jul 30, 2026 10:07 AM
#3

Simple, elegant, and crash-proof.