25 lines
804 B
C++
25 lines
804 B
C++
#include <image/imresdir.hpp>
|
|
#include <image/direntry.hpp>
|
|
#include <common/pview.hpp>
|
|
#include <common/assert.hpp>
|
|
|
|
ImageResourceDirectoryEntry &ImageResourceDirectory::operator[](UINT itemIndex)
|
|
{
|
|
assert(itemIndex<mImageResourceDirectoryEntries.size());
|
|
return mImageResourceDirectoryEntries[itemIndex];
|
|
}
|
|
|
|
void ImageResourceDirectory::read(DWORD resBase,DWORD deltaOffset,PureViewOfFile &pureView)
|
|
{
|
|
DWORD entryCount;
|
|
|
|
clear();
|
|
pureView.read((char*)&((IMAGE_RESOURCE_DIRECTORY&)*this),sizeof(IMAGE_RESOURCE_DIRECTORY));
|
|
entryCount=entries();
|
|
for(int entryIndex=0;entryIndex<entryCount;entryIndex++)
|
|
{
|
|
mImageResourceDirectoryEntries.insert(&ImageResourceDirectoryEntry());
|
|
mImageResourceDirectoryEntries[mImageResourceDirectoryEntries.size()-1].read(resBase,deltaOffset,pureView);
|
|
}
|
|
}
|