Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Récupère les octets bruts du flux nommé.
Syntaxe
HRESULT getStreamRawData (
LPCOLESTR stream,
ULONGLONG cbOffset,
ULONGLONG cbRead,
ULONGLONG* pcbRead,
BYTE* pbData
);
Paramètres
stream
[in] Nom du flux dans les informations de débogage.
cbOffset
[in] Décalage dans le flux à partir duquel commencer la lecture des données.
cbRead
[in] Nombre d’octets à récupérer.
pcbRead
[out] Nombre d’octets réellement lus à partir du flux.
pbData
[out] Emplacement pour stocker les données de lecture. L’entrée doit comporter au moins cbRead des octets de taille. Une fois les octets retournés *pcbRead réussis, ils sont valides.
Valeur de retour
En cas de réussite, retourne S_OK. Si le flux nommé n’existe pas dans la base de données PDB, l’API peut échouer ou retourner une longueur de 0.
Notes
Les bases de données de programme sont constituées de plusieurs flux de données. Certains de ces flux sont nommés. Vous pouvez utiliser cette méthode pour collecter des informations sur ces flux nommés.
Pour obtenir la taille du flux, utilisez la IDiaDataSourceEx::getStreamSize méthode.
Exemple
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)) {
...