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

(05d090b8e78aa76c27aa1520fe0c9562bb9b057a)

#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 14 of file qcoffpeparser.cpp.

◆ peDebug

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

Definition at line 36 of file qcoffpeparser.cpp.

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

Definition at line 13 of file qcoffpeparser.cpp.

Function Documentation

◆ checkNtHeaders()

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

Definition at line 200 of file qcoffpeparser.cpp.

◆ findSectionName()

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

Definition at line 298 of file qcoffpeparser.cpp.

◆ findSectionTable()

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

Definition at line 245 of file qcoffpeparser.cpp.

◆ findStringTable()

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

Definition at line 270 of file qcoffpeparser.cpp.

◆ metadataSectionName()

static constexpr auto metadataSectionName ( )
inlinestaticconstexprnoexcept

Definition at line 25 of file qcoffpeparser.cpp.

Variable Documentation

◆ ExpectedMachine

static QT_WARNING_PUSH const WORD ExpectedMachine
static
Initial value:
=
IMAGE_FILE_MACHINE_UNKNOWN

Definition at line 42 of file qcoffpeparser.cpp.

◆ ExpectedOptionalHeaderSignature

static 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 65 of file qcoffpeparser.cpp.

◆ IncludeValidityChecks

static constexpr bool IncludeValidityChecks = true
staticconstexpr

Definition at line 23 of file qcoffpeparser.cpp.

◆ truncatedSectionName

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

Definition at line 26 of file qcoffpeparser.cpp.