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

(b5c125ca1a8dc823f4be782940438f5e5d981bdd)

#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.

Classes

struct  QT_WARNING_POP::NtHeaders

Namespaces

namespace  QT_WARNING_POP

Macros

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

Functions

static constexpr auto metadataSectionName () noexcept
static std::optional< NtHeaders > checkNtHeaders (QByteArrayView datadata, const ErrorMaker &error)
static std::optional< size_t > findSectionTable (QByteArrayView datadata, const NtHeaders &ntHeaders, const ErrorMaker &error)
static std::optional< QByteArrayView > findStringTable (QByteArrayView datadata, 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()

std::optional< NtHeaders > checkNtHeaders ( QByteArrayView data,
const ErrorMaker & error )
static

Definition at line 213 of file qcoffpeparser.cpp.

◆ findSectionName()

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

Definition at line 313 of file qcoffpeparser.cpp.

◆ findSectionTable()

std::optional< size_t > findSectionTable ( QByteArrayView data,
const NtHeaders & ntHeaders,
const ErrorMaker & error )
static

Definition at line 259 of file qcoffpeparser.cpp.

◆ findStringTable()

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

Definition at line 285 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:67

Definition at line 68 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.