16 : StreamData(DiaStreamData) {}
20 return (S_OK == StreamData->get_Count(&Count)) ? Count : 0;
27std::optional<DIADataStream::RecordType>
31 StreamData->Item(Index, 0, &RecordSize,
nullptr);
36 if (S_OK != StreamData->Item(Index, RecordSize, &RecordSize, &
Record[0]))
44 ULONG CountFetched = 0;
45 StreamData->Next(1, 0, &RecordSize,
nullptr, &CountFetched);
51 StreamData->Next(1, RecordSize, &RecordSize, &
Record[0], &CountFetched))
std::string invokeBstrMethod(Obj &Object, HRESULT(__stdcall Obj::*Func)(BSTR *))
std::optional< RecordType > getItemAtIndex(uint32_t Index) const override
bool getNext(RecordType &Record) override
std::string getName() const override
uint32_t getRecordCount() const override
DIADataStream(CComPtr< IDiaEnumDebugStreamData > DiaStreamData)
This is an optimization pass for GlobalISel generic memory operations.