4
#include "kdlib/tagged.h"
9
///////////////////////////////////////////////////////////////////////////////
11
std::list<TaggedId> enumTagged()
14
auto hres = g_dbgMgr->dataspace->StartEnumTagged(&handle);
16
throw DbgEngException(L"IDebugDataSpaces3::StartEnumTagged", hres);
18
const auto enumDelete =
21
const auto hres = g_dbgMgr->dataspace->EndEnumTagged(*handle);
23
throw DbgEngException(L"IDebugDataSpaces3::EndEnumTagged", hres);
25
std::unique_ptr<ULONG64, decltype(enumDelete)> endGuard{&handle, enumDelete};
27
std::list<TaggedId> result;
32
hres = g_dbgMgr->dataspace->GetNextTagged(handle, &id, &tmp);
37
throw DbgEngException(L"IDebugDataSpaces3::GetNextTagged", hres);
39
result.emplace_back( std::move(id) );
41
return std::move(result);
44
///////////////////////////////////////////////////////////////////////////////
46
TaggedBuffer loadTaggedBuffer(TaggedId id)
49
auto hres = g_dbgMgr->dataspace->ReadTagged(&id, 0, nullptr, 0, &size);
51
throw DbgEngException(L"IDebugDataSpaces4::ReadTagged", hres);
54
return TaggedBuffer{};
56
TaggedBuffer result(size);
58
hres = g_dbgMgr->dataspace->ReadTagged(&id, 0, result.data(), size, &size);
60
throw DbgEngException(L"IDebugDataSpaces4::ReadTagged", hres);
62
return std::move(result);
65
///////////////////////////////////////////////////////////////////////////////
67
} // kdlib namespace end