Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pobiera nieprzetworzone bajty nazwanego strumienia.
Składnia
HRESULT getStreamRawData (
LPCOLESTR stream,
ULONGLONG cbOffset,
ULONGLONG cbRead,
ULONGLONG* pcbRead,
BYTE* pbData
);
Parametry
stream
[in] Nazwa strumienia w ramach informacji debugowania.
cbOffset
[in] Przesunięcie w strumieniu w celu rozpoczęcia odczytywania danych.
cbRead
[in] Liczba bajtów do pobrania.
pcbRead
[out] Liczba bajtów odczytanych ze strumienia.
pbData
[out] Lokalizacja do przechowywania danych odczytu. W danych wejściowych musi mieć rozmiar co najmniej cbRead bajtów. Po pomyślnym powrocie *pcbRead bajty będą prawidłowe.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK. Jeśli nazwany strumień nie istnieje w pliku PDB, interfejs API może zakończyć się niepowodzeniem lub może zwrócić długość 0.
Uwagi
Bazy danych programu składają się z wielu strumieni danych. Niektóre z tych strumieni są nazwane. Ta metoda służy do zbierania informacji o tych nazwanych strumieniach.
Aby uzyskać rozmiar strumienia, użyj IDiaDataSourceEx::getStreamSize metody .
Przykład
ULONGLONG countBytes = 0;
LPCOLESTR stream = L"/names";
HRESULT hr = pSource->getStreamSize( stream, &countBytes );
if (SUCCEEDED(hr)) {
for (ULONGLONG cbOffset = 0, cbRead = 0; cbOffset < countBytes; cbOffset += cbRead) {
BYTE buffer[100];
cbRead = 0;
hr = pSource->getStreamRawBytes( stream, cbOffset, std::min(countBytes - cbOffset, sizeof(buffer)), &cbRead, buffer);
if (SUCCEEDED(hr)) {
...