handlewalk is a tiny C++20 wrapper around the Native API pieces needed to enumerate Windows handles and inspect duplicated objects.
It is meant for diagnostics and research tooling: collect SystemExtendedHandleInformation, filter by process id, duplicate handles with PROCESS_DUP_HANDLE, and query object type/name through NtQueryObject.
auto api = handlewalk::api::load();
auto handles = api->handles();
for (const auto& h : *handles) {
if (h.process_id == GetCurrentProcessId()) {
std::cout << std::hex << h.handle_value << "\n";
}
}cmake -S . -B build -DHANDLEWALK_BUILD_EXAMPLES=ON
cmake --build build --config Release