BinaryContent 类

QInstaller::BinaryContent

BinaryContent 类处理嵌入到可执行文件中的二进制信息。更多...

头文件 #include <BinaryContent>

静态公共成员

QInstaller::BinaryLayoutbinaryLayout(QFile *file, quint64 magicCookie)
qint64findMagicCookie(QFile *in, quint64 magicCookie)
voidreadBinaryContent(QFile *file, QList<QInstaller::OperationBlob> *operations, QInstaller::ResourceCollectionManager *manager, qint64 *magicMarker, quint64 magicCookie)
voidwriteBinaryContent(QFile *out, const QList<QInstaller::OperationBlob> &operations, const QInstaller::ResourceCollectionManager &manager, qint64 magicMarker, quint64 magicCookie)

详细描述

以下类型的二进制信息可以嵌入到可执行文件中:Qt 资源、执行的操作和资源集合。

神奇标记是一个 quint64,用于识别二进制类型的类型:installeruninstaller(维护工具)。

神奇饼干是一个 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公司在有限信息和/或分支机构中的商标。所有其他商标均为其各自所有者的财产。