Как узнать длину IStream? C ++ - PullRequest
       18

Как узнать длину IStream? C ++

5 голосов
/ 13 октября 2009

Я создаю IStream следующим образом:

IStream* stream;
result = CreateStreamOnHGlobal(0, TRUE, &stream);

Тогда у меня есть объект CImage, который я сохраняю в этот поток:

image->Save(stream, Gdiplus::ImageFormatBMP);

Мне нужно получить размер байтов, записанных в этот IStream.

Как я могу это сделать?

В IStream нет длины или чего-то подобного ...

спасибо!

Ответы [ 2 ]

7 голосов
/ 13 октября 2009

IStream :: Stat должен делать то, что вы хотите.

4 голосов
/ 17 сентября 2010

Или вы можете использовать:

    ULARGE_INTEGER liSize;
    IStream_Size(pStream, &liSize);

другие функции, которые могут оказаться полезными в этом контексте:

    IStream_Reset(pStream);         // reset seek position to beginning
    IStream_Read(pStream, mem, size);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...