16 : StreamData(DiaStreamData) {}
20 return (S_OK == StreamData->get_Count(&Count)) ? Count : 0;
25 if (S_OK != StreamData->get_name(&Name16))
40 StreamData->Item(Index, 0, &RecordSize,
nullptr);
45 if (S_OK != StreamData->Item(Index, RecordSize, &RecordSize, &Record[0]))
53 ULONG CountFetched = 0;
54 StreamData->Next(1, 0, &RecordSize,
nullptr, &CountFetched);
60 StreamData->Next(1, RecordSize, &RecordSize, &Record[0], &CountFetched))
68 CComPtr<IDiaEnumDebugStreamData> EnumeratorClone;
69 if (S_OK != StreamData->Clone(&EnumeratorClone))
std::string getName() const override
bool getNext(RecordType &Record) override
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
DIADataStream * clone() const override
bool convertUTF16ToUTF8String(ArrayRef< char > SrcBytes, std::string &Out)
llvm::Optional< RecordType > getItemAtIndex(uint32_t Index) const override
uint32_t getRecordCount() const override
DIADataStream(CComPtr< IDiaEnumDebugStreamData > DiaStreamData)