BinaryContent 类
类 QInstaller::BinaryContentBinaryContent 类处理嵌入到可执行文件中的二进制信息。更多...
头文件 | #include <BinaryContent> |
静态公共成员
QInstaller::BinaryLayout | binaryLayout(QFile *file, quint64 magicCookie) |
qint64 | findMagicCookie(QFile *in, quint64 magicCookie) |
void | readBinaryContent(QFile *file, QList<QInstaller::OperationBlob> *operations, QInstaller::ResourceCollectionManager *manager, qint64 *magicMarker, quint64 magicCookie) |
void | writeBinaryContent(QFile *out, const QList<QInstaller::OperationBlob> &operations, const QInstaller::ResourceCollectionManager &manager, qint64 magicMarker, quint64 magicCookie) |
详细描述
以下类型的二进制信息可以嵌入到可执行文件中:Qt 资源、执行的操作和资源集合。
神奇标记是一个 quint64
,用于识别二进制类型的类型:installer
或 uninstaller
(维护工具)。
神奇饼干是一个 quint64
,描述是否该二进制文件只包含数据,还是同时包含可执行文件。
成员函数文档
[静态]
QInstaller::BinaryLayout BinaryContent::binaryLayout(QFile *file, quint64 magicCookie)
尝试读取文件 file 的二进制布局。它从文件 file 的末尾开始,使用 findMagicCookie() 查找给定的 magicCookie。如果找到了饼干,它填充一个 BinaryLayout 结构并返回它。失败时抛出错误。
[静态]
qint64 BinaryContent::findMagicCookie(QFile *in, quint64 magicCookie)
从文件 in 的末尾开始查找给定的神奇饼干 magicCookie。返回神奇饼干在二进制中的位置。失败时抛出错误。
注意:搜索最多 1MB 的数据,如果小于 1MB,则搜索整个文件。
[static]
void BinaryContent::readBinaryContent(QFile *file, QList<QInstaller::OperationBlob> *operations, QInstaller::ResourceCollectionManager *manager, qint64 *magicMarker, quint64 magicCookie)
读取指定文件的二进制内容。首先使用magicCookie调用binaryLayout()读取文件的二进制布局。失败时抛出错误。
如果operations不为0,它将被设置为之前的运行(例如维护工具的运行)中执行的操作。
如果manager不为0,它首先会被清除,然后设置到二进制中嵌入的资源集合。
如果magicMarker不为0,它会设置为二进制中找到的魔幻标记。
[static]
void BinaryContent::writeBinaryContent(QFile *out, const QList<QInstaller::OperationBlob> &operations, const QInstaller::ResourceCollectionManager &manager, qint64 magicMarker, quint64 magicCookie)
将二进制内容写入指定的文件out。失败时抛出错误。
二进制内容的写入顺序如下
- 元资源manager
- 操作operations
- 资源集合manager
- 魔幻标记magicMarker
- 魔幻CookiemagicCookie
更多详细信息请参阅BinaryLayout文档。
©2021 Qt公司。包含在此内的文档贡献者是各自所有者的版权所有者。此文档是根据自由软件基金会发布的GNU自由文档许可证第1.3版条款许可的。Qt公司和Qt及其相应标志是芬兰以及/或全球其他国家的Qt公司在有限信息和/或分支机构中的商标。所有其他商标均为其各自所有者的财产。