Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Adlandırılmış akışın ham baytlarını alır.
Sözdizimi
HRESULT getStreamRawData (
LPCOLESTR stream,
ULONGLONG cbOffset,
ULONGLONG cbRead,
ULONGLONG* pcbRead,
BYTE* pbData
);
Parametreler
stream
[in] Hata ayıklama bilgileri içindeki akışın adı.
cbOffset
[in] Veri okumaya başlamak için akış içindeki uzaklık.
cbRead
[in] Alınacak bayt sayısı.
pcbRead
[out] Aslında akıştan okunan bayt sayısı.
pbData
[out] Okuma verilerini depolama konumu. Girişte boyutu en az cbRead
bayt olmalıdır. Başarılı dönüş *pcbRead
baytları geçerli olacaktır.
Dönüş Değeri
Başarılı olursa döndürür S_OK
. Adlandırılmış akış PDB içinde yoksa, API başarısız olabilir veya 0 uzunluğu döndürebilir.
Açıklamalar
Program Veritabanları birden çok veri akışından oluşur. Bu akışlardan bazıları adlandırılmıştır. Bu adlandırılmış akışlar hakkında bilgi toplamak için bu yöntemi kullanabilirsiniz.
Akışın boyutunu almak için yöntemini kullanın IDiaDataSourceEx::getStreamSize
.
Örnek
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)) {
...