inline result_t write_event()

in native/include/etw_provider_api.hpp [74:89]


    inline result_t<> write_event(uint64_t provider_handle, const event_descriptor & descriptor, event_data_field (&data)[data_sz]) noexcept {
        EVENT_DATA_DESCRIPTOR descrs[data_sz];
        for(uint32_t i = 0; i < data_sz; ++i)
            EventDataDescCreate(&descrs[i], data[i].data, static_cast<ULONG>(data[i].size));

        EVENT_DESCRIPTOR ed{
            descriptor.id,
            descriptor.version,
            descriptor.channel,
            descriptor.level,
            descriptor.opcode,
            descriptor.task,
            descriptor.keyword };

        return EventWrite(static_cast<REGHANDLE>(provider_handle), &ed, static_cast<ULONG>(data_sz), descrs);
    }