gpt4 book ai didi

c++ - 剥离 OLE header 信息 (MS Access/SQL Server)

转载 作者:太空狗 更新时间:2023-10-29 21:08:31 26 4
gpt4 key购买 nike

我有一个需要支持二进制数据库内容(图像等)的 C++ 应用程序。当使用 MS Access 或 MS SQL Server 时,此数据被包装在一个 OLE 对象中。如何去除这个 OLE 头信息?请注意,我不能只查找特定标签的开头,因为内容可以是 png、jpg 和一大堆其他格式。我应该使用 COleDataObject 之类的东西吗?

最佳答案

使用 MS Access 2007(我需要测试其他 MS 数据库)格式似乎是:

84 bytes
file name + \0
full path + \0
5 bytes + [2] bytes (the third byte of those five bytes)
temp path + \0
4 bytes
actual data (if not using a link to the file)

到目前为止,我只是简单地解析和剥离实际数据之前的部分,但我仍然想知道是否没有办法使用 COleDataSource 之类的东西来帮助更可靠地解析这些信息。

另请注意,此格式仅适用于通用内容(起始标记 0x15 0x1c 0x32)。使用位图时(开始标记 0x15 0x1c 0x2f)有 78 字节的固定偏移量,使用 PowerPoint 时(开始标记 0x15 0x1c 0x34)有 95 字节的固定偏移量。

关于c++ - 剥离 OLE header 信息 (MS Access/SQL Server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2874403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com