Procházet zdrojové kódy

Add NumberOfSections() for ImageInterpreter

Double Sine před 6 roky
rodič
revize
c8160cb7c5

+ 9 - 0
navicat-patcher/ImageInterpreter.cpp

@@ -298,6 +298,7 @@ namespace nkg {
         return IsRvaRangeInRelocTable(FileOffsetToRva(FileOffset), Size);
         return IsRvaRangeInRelocTable(FileOffsetToRva(FileOffset), Size);
     }
     }
 
 
+    [[nodiscard]]
     DWORD ImageInterpreter::ImageFileMajorVersion() const {
     DWORD ImageInterpreter::ImageFileMajorVersion() const {
         if (_VsFixedFileInfo) {
         if (_VsFixedFileInfo) {
             return _VsFixedFileInfo->dwFileVersionMS;
             return _VsFixedFileInfo->dwFileVersionMS;
@@ -306,6 +307,7 @@ namespace nkg {
         }
         }
     }
     }
 
 
+    [[nodiscard]]
     DWORD ImageInterpreter::ImageFileMinorVersion() const {
     DWORD ImageInterpreter::ImageFileMinorVersion() const {
         if (_VsFixedFileInfo) {
         if (_VsFixedFileInfo) {
             return _VsFixedFileInfo->dwFileVersionLS;
             return _VsFixedFileInfo->dwFileVersionLS;
@@ -314,6 +316,7 @@ namespace nkg {
         }
         }
     }
     }
 
 
+    [[nodiscard]]
     DWORD ImageInterpreter::ImageProductMajorVersion() const {
     DWORD ImageInterpreter::ImageProductMajorVersion() const {
         if (_VsFixedFileInfo) {
         if (_VsFixedFileInfo) {
             return _VsFixedFileInfo->dwProductVersionMS;
             return _VsFixedFileInfo->dwProductVersionMS;
@@ -322,6 +325,7 @@ namespace nkg {
         }
         }
     }
     }
 
 
+    [[nodiscard]]
     DWORD ImageInterpreter::ImageProductMinorVersion() const {
     DWORD ImageInterpreter::ImageProductMinorVersion() const {
         if (_VsFixedFileInfo) {
         if (_VsFixedFileInfo) {
             return _VsFixedFileInfo->dwProductVersionLS;
             return _VsFixedFileInfo->dwProductVersionLS;
@@ -329,5 +333,10 @@ namespace nkg {
             throw Exception(NKG_CURRENT_SOURCE_FILE(), NKG_CURRENT_SOURCE_LINE(), TEXT("Image does not have version info."));
             throw Exception(NKG_CURRENT_SOURCE_FILE(), NKG_CURRENT_SOURCE_LINE(), TEXT("Image does not have version info."));
         }
         }
     }
     }
+
+    [[nodiscard]]
+    size_t ImageInterpreter::NumberOfSections() const noexcept {
+        return _NtHeaders->FileHeader.NumberOfSections;
+    }
 }
 }
 
 

+ 3 - 0
navicat-patcher/ImageInterpreter.hpp

@@ -229,6 +229,9 @@ namespace nkg {
 
 
         [[nodiscard]]
         [[nodiscard]]
         DWORD ImageProductMinorVersion() const;
         DWORD ImageProductMinorVersion() const;
+
+        [[nodiscard]]
+        size_t NumberOfSections() const noexcept;
     };
     };
 
 
 }
 }