我正在用 C++ 构建一个要导入 VB 项目的 dll。dll 公开了一个函数,该函数将通过 Win Shell 提取指定文档的预览图像,然后将其写入缓冲区以供 VB 应用程序使用。
到目前为止,我能够毫无问题地获得 HBITMAP 句柄。我还能够使用 GetBitmapBits 函数提取位图数据。但是,这不起作用,因为需要位数据的对象需要它是与设备无关的格式。
我读过 GetDiBits 是用于此目的的函数,但我很难弄清楚如何成功调用该函数。
我应该使用什么设备上下文?另外,如何确保它以独立于设备的格式写出数据?
提前致谢。