- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 BHO(Internet Explorer 扩展),我正在尝试将“data:image/png;base64, [code]”(base64 编码图像缓冲区)设置为 IHTMLImgElement 的 src。当从 BHO 的主线程调用 put_src 时,没有问题,但现在我从不同的线程调用它,它返回 E_OUTOFMEMORY。 base64编码的字符串很长。对于较短的 base64 字符串,它不会返回错误。
我必须说明我没有内存泄漏,我只使用了智能 COM 指针,并删除了所有分配的内存。
我还使用相同类型的 base64 字符串为 IHTMLStyle 对象调用 set_backgroundImage,它没有返回任何错误。
最佳答案
What does it specifically mean "not thread safe"? As I wrote in the main post the call to set_backgroundImage returns with no problem.
在此上下文中,它仅表示您不能从创建 BHO 的主线程以外的任何其他线程直接调用它。如果您需要从另一个线程使用它,请将对象的 IHTMLImgElement
接口(interface)编码到该线程,例如与 CoMarshalInterThreadInterfaceInStream
.
更多信息:
关于c++ - 为什么 IHTMLImgElement 方法 put_src 在从线程调用时返回 E_OUTOFMEMORY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22142438/
我正在尝试从 C# webbrowser 控件中提取图像,并返回相同的字节数组,我已经设法提取图像,但无法获得相同的字节数组。 我如何将 IHTMLImgElement 转换为 byte[],在 go
我有一个 BHO(Internet Explorer 扩展),我正在尝试将“data:image/png;base64, [code]”(base64 编码图像缓冲区)设置为 IHTMLImgElem
我是一名优秀的程序员,十分优秀!