Changeset 3759 for trunk/src


Ignore:
Timestamp:
Jun 26, 2000, 3:21:34 PM (25 years ago)
Author:
sandervl
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/pefile.cpp

    r3625 r3759  
    1 /* $Id: pefile.cpp,v 1.8 2000-05-28 16:45:12 sandervl Exp $ */
     1/* $Id: pefile.cpp,v 1.9 2000-06-26 13:21:34 sandervl Exp $ */
    22
    33/*
     
    5959//******************************************************************************
    6060//******************************************************************************
    61 LPVOID ImageDirectoryOffset (LPVOID lpFile, DWORD dwIMAGE_DIRECTORY)
     61LPVOID ImageDirectoryOffset(LPVOID lpFile, DWORD dwIMAGE_DIRECTORY)
    6262{
    6363    PIMAGE_OPTIONAL_HEADER   poh = (PIMAGE_OPTIONAL_HEADER)OPTHEADEROFF (lpFile);
     
    7373
    7474    return (LPVOID)((ULONG)lpFile + poh->DataDirectory[dwIMAGE_DIRECTORY].VirtualAddress);
     75}
     76//******************************************************************************
     77//******************************************************************************
     78DWORD ImageDirectorySize(LPVOID lpFile, DWORD dwIMAGE_DIRECTORY)
     79{
     80    PIMAGE_OPTIONAL_HEADER   poh = (PIMAGE_OPTIONAL_HEADER)OPTHEADEROFF (lpFile);
     81    IMAGE_SECTION_HEADER     sh;
     82
     83    if (dwIMAGE_DIRECTORY >= poh->NumberOfRvaAndSizes)
     84        return 0;
     85
     86    if(GetSectionHdrByRVA(lpFile, &sh, poh->DataDirectory[dwIMAGE_DIRECTORY].VirtualAddress) == FALSE)
     87    {
     88        return 0;
     89    }
     90
     91    return poh->DataDirectory[dwIMAGE_DIRECTORY].Size;
    7592}
    7693//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.