in native/include/etw_provider_api.hpp [38:52]
inline result_t<uint64_t> register_provider(const GUID & provider_guid, void * cb_context = nullptr) noexcept {
static_assert(sizeof(REGHANDLE) <= sizeof(uint64_t));
REGHANDLE reg_handle = 0;
ULONG status = provider_enabled_cb != nullptr
? EventRegister(
&provider_guid,
&detail::on_provider_enabled<provider_enabled_cb>,
cb_context, ®_handle)
: EventRegister(&provider_guid, nullptr, nullptr, ®_handle);
if(status != ERROR_SUCCESS)
return { static_cast<uint32_t>(status), "Unable to register provider" };
return static_cast<uint64_t>(reg_handle);
}