HRESULT Trace::Log_StartGetFrame(ABI::Windows::Foundation::Diagnostics::ILoggingActivity **ppActivity, REFERENCE_TIME presentationTime,const REFERENCE_TIME *pTimes,size_t queueSize) { ComPtr<ILoggingFields> fields; HRESULT hr = CreateLoggingFields(&fields); if (FAILED(hr)) return hr; fields->AddTimeSpan(HStringReference(L"PresentationTime").Get(), ABI::Windows::Foundation::TimeSpan() = { presentationTime }); if (queueSize > 0) fields->AddTimeSpanArray(HStringReference(L"Queue").Get(), queueSize, (ABI::Windows::Foundation::TimeSpan *) pTimes); else fields->AddEmpty(HStringReference(L"Queue").Get()); fields->AddUInt32(HStringReference(L"Queue.size").Get(),queueSize); return g_spLogChannel->StartActivityWithFields(HStringReference(APP_GETFRAME).Get(), fields.Get(), ppActivity); }