Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft die unformatierten Bytes des benannten Datenstroms ab.
Syntax
HRESULT getStreamRawData (
LPCOLESTR stream,
ULONGLONG cbOffset,
ULONGLONG cbRead,
ULONGLONG* pcbRead,
BYTE* pbData
);
Parameter
stream
[in] Der Name des Datenstroms innerhalb der Debuginformationen.
cbOffset
[in] Der Offset innerhalb des Datenstroms, um mit dem Lesen von Daten zu beginnen.
cbRead
[in] Die Anzahl der abzurufenden Bytes.
pcbRead
[out] Die Anzahl der Bytes, die tatsächlich aus dem Datenstrom gelesen werden.
pbData
[out] Der Speicherort zum Speichern der Lesedaten. Bei eingaben muss mindestens cbRead Byte groß sein. Nach erfolgreicher Rückgabe *pcbRead sind Bytes gültig.
Rückgabewert
Gibt bei Erfolg S_OK zurück. Wenn der benannte Datenstrom nicht innerhalb des PDB vorhanden ist, schlägt die API möglicherweise fehl, oder sie gibt eine Länge von 0 zurück.
Hinweise
Programmdatenbanken bestehen aus mehreren Datenströmen. Einige dieser Datenströme werden benannt. Mit dieser Methode können Sie Informationen zu diesen benannten Datenströmen sammeln.
Verwenden Sie die IDiaDataSourceEx::getStreamSize Methode, um die Größe des Datenstroms abzurufen.
Beispiel
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)) {
...