Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qcoffpeparser.cpp File Reference

(e94a951862b7860c15e219dce48e60c9dc1dc3d2)

#include "qcoffpeparser_p.h"
#include <qendian.h>
#include <qloggingcategory.h>
#include <qnumeric.h>
#include <optional>
#include <qt_windows.h>
Include dependency graph for qcoffpeparser.cpp:

Go to the source code of this file.

Macros

#define WIN32_LEAN_AND_MEAN
#define NOGDI
#define peDebug   if (false) {} else QNoDebug()

Functions

static constexpr auto metadataSectionName () noexcept
QT_WARNING_POP const IMAGE_NT_HEADERS * checkNtHeaders (QByteArrayView data, const ErrorMaker &error)
static const IMAGE_SECTION_HEADER * findSectionTable (QByteArrayView data, const IMAGE_NT_HEADERS *ntHeader, const ErrorMaker &error)
static std::optional< QByteArrayViewfindStringTable (QByteArrayView data, const IMAGE_NT_HEADERS *ntHeader, const ErrorMaker &error)
static QLatin1StringView findSectionName (const IMAGE_SECTION_HEADER *section, QByteArrayView stringTable)

Variables

static constexpr bool IncludeValidityChecks = true
static constexpr QLatin1StringView truncatedSectionName
static QT_WARNING_PUSH const WORD ExpectedMachine
static const WORD ExpectedOptionalHeaderSignature

Macro Definition Documentation

◆ NOGDI

#define NOGDI

Definition at line 15 of file qcoffpeparser.cpp.

◆ peDebug

#define peDebug   if (false) {} else QNoDebug()

Definition at line 37 of file qcoffpeparser.cpp.

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

Definition at line 14 of file qcoffpeparser.cpp.

Function Documentation

◆ checkNtHeaders()

QT_WARNING_POP const IMAGE_NT_HEADERS * checkNtHeaders ( QByteArrayView data,
const ErrorMaker & error )

Definition at line 201 of file qcoffpeparser.cpp.

◆ findSectionName()

QLatin1StringView findSectionName ( const IMAGE_SECTION_HEADER * section,
QByteArrayView stringTable )
static

Definition at line 299 of file qcoffpeparser.cpp.

◆ findSectionTable()

const IMAGE_SECTION_HEADER * findSectionTable ( QByteArrayView data,
const IMAGE_NT_HEADERS * ntHeader,
const ErrorMaker & error )
static

Definition at line 246 of file qcoffpeparser.cpp.

◆ findStringTable()

std::optional< QByteArrayView > findStringTable ( QByteArrayView data,
const IMAGE_NT_HEADERS * ntHeader,
const ErrorMaker & error )
static

Definition at line 271 of file qcoffpeparser.cpp.

◆ metadataSectionName()

constexpr auto metadataSectionName ( )
inlinestaticconstexprnoexcept

Definition at line 26 of file qcoffpeparser.cpp.

Variable Documentation

◆ ExpectedMachine

QT_WARNING_PUSH const WORD ExpectedMachine
static
Initial value:
=
IMAGE_FILE_MACHINE_UNKNOWN

Definition at line 43 of file qcoffpeparser.cpp.

◆ ExpectedOptionalHeaderSignature

const WORD ExpectedOptionalHeaderSignature
static
Initial value:
=
sizeof(void*) == sizeof(quint64) ? IMAGE_NT_OPTIONAL_HDR64_MAGIC :
IMAGE_NT_OPTIONAL_HDR32_MAGIC
unsigned long long quint64
Definition qtypes.h:66

Definition at line 66 of file qcoffpeparser.cpp.

◆ IncludeValidityChecks

constexpr bool IncludeValidityChecks = true
staticconstexpr

Definition at line 24 of file qcoffpeparser.cpp.

◆ truncatedSectionName

constexpr QLatin1StringView truncatedSectionName
staticconstexpr
Initial value:
=
metadataSectionName().left(sizeof(IMAGE_SECTION_HEADER::Name))
static constexpr auto metadataSectionName() noexcept

Definition at line 27 of file qcoffpeparser.cpp.