c++ - 确定 IWICStream 缓冲区中已用内存的大小

标签 c++ windows memory com stream

我用 VirtualAlloc() 获得了一个 10MB 的内存块并初始化了 IWICStream与它使用 IWICStream::InitializeFromMemory() .

我将 PNG 编码到 IWICStream 中,但我不知道 PNG 数据占用了多少内存。

如何确定 IWICStream 缓冲区的有效/已使用大小?

最佳答案

IWICStream 继承 IStream。标准技巧是使用 IStream::Seek() ,在写入图像后指定 STREAM_SEEK_CUR。 *plibNewPosition 参数给出长度。

关于c++ - 确定 IWICStream 缓冲区中已用内存的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384616/

相关文章:

c++ - 如何通过调整窗口大小来扩展小部件?

.net - SetThreadExecutionState(ES_SYSTEM_REQUIRED) 不会阻止 Windows 11 上的系统 sleep

windows - 颠覆自动 Prop 问题

C++ - 添加列表 <Task> l(或任何 STL 容器)作为数据成员导致错误,当删除分配在堆上的任务数组时

c - 使用自定义堆的类似 malloc 的函数

如果我向类构造函数添加一个伪参数,C++ 内存访问冲突神秘地消失了

c++ - 此预处理器指令/C++ 需要解释

c++ - 当 cin 的输入是 'dot' 时 while 循环到无穷大

windows - $之间的区别?和 PowerShell 中的 $LastExitCode

c++ - 在 OpenCV 中更新 Mat 的子矩阵