【问题标题】:How to get the length of IStream? C++如何获得 IStream 的长度? C++
【发布时间】:2010-12-06 09:23:15
【问题描述】:

我正在创建一个 IStream,如下所示:

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

然后我有一个 CImage 对象,我保存到这个流中:

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

我需要获取写入此 IStream 的字节大小。

我该怎么做?

IStream 中没有 Length 或类似的东西...

谢谢!

【问题讨论】:

    标签: c++ windows stream


    【解决方案1】:

    IStream::Stat 应该做你想做的事。

    【讨论】:

      【解决方案2】:

      或者你可以使用:

          ULARGE_INTEGER liSize;
          IStream_Size(pStream, &liSize);
      

      您可能会发现在这种情况下有用的其他功能:

          IStream_Reset(pStream);         // reset seek position to beginning
          IStream_Read(pStream, mem, size);
      

      【讨论】:

        猜你喜欢
        • 2015-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多