Initial
This commit is contained in:
94
image/RESDRSTR.BAK
Normal file
94
image/RESDRSTR.BAK
Normal file
@@ -0,0 +1,94 @@
|
||||
#ifndef _IMAGE_IMAGERESOURCEDIRSTRING_HPP_
|
||||
#define _IMAGE_IMAGERESOURCEDIRSTRING_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_STRING_HPP_
|
||||
#include <common/string.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_PUREVIEWOFFILE_HPP_
|
||||
#include <common/pview.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_WINNLS_HPP_
|
||||
#include <common/winnls.hpp>
|
||||
#endif
|
||||
|
||||
class ImageResourceDirString : private IMAGE_RESOURCE_DIR_STRING_U
|
||||
{
|
||||
public:
|
||||
ImageResourceDirString(void);
|
||||
virtual ~ImageResourceDirString();
|
||||
operator IMAGE_RESOURCE_DIR_STRING_U &(void);
|
||||
String name(void)const;
|
||||
void read(PureViewOfFile &pureView);
|
||||
private:
|
||||
WORD length(void)const;
|
||||
ImageResourceDirString(const ImageResourceDirString &someImageResourceDirString);
|
||||
ImageResourceDirString &operator=(const ImageResourceDirString &imageResourceDirString);
|
||||
void zeroInit(void);
|
||||
String mResourceName;
|
||||
};
|
||||
|
||||
inline
|
||||
ImageResourceDirString::ImageResourceDirString(void)
|
||||
{
|
||||
zeroInit();
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirString::ImageResourceDirString(const ImageResourceDirString &someImageResourceDirString)
|
||||
{
|
||||
*this=someImageResourceDirString;
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirString::~ImageResourceDirString()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirString &ImageResourceDirString::operator=(const ImageResourceDirString &/*imageResourceDirString*/)
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirString::operator IMAGE_RESOURCE_DIR_STRING_U &(void)
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageResourceDirString::length(void)const
|
||||
{
|
||||
return IMAGE_RESOURCE_DIR_STRING_U::Length;
|
||||
}
|
||||
|
||||
inline
|
||||
String ImageResourceDirString::name(void)const
|
||||
{
|
||||
return mResourceName;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirString::read(PureViewOfFile &pureView)
|
||||
{
|
||||
WCHAR wszBuffer[String::MaxString];
|
||||
|
||||
pureView.push();
|
||||
::memset(wszBuffer,0,sizeof(wszBuffer));
|
||||
mResourceName.reserve(String::MaxString);
|
||||
pureView.read((char*)&((IMAGE_RESOURCE_DIR_STRING_U&)*this),sizeof(IMAGE_RESOURCE_DIR_STRING_U));
|
||||
wszBuffer[0]=IMAGE_RESOURCE_DIR_STRING_U::NameString[0];
|
||||
pureView.read((char*)(wszBuffer+1),length()*sizeof(WCHAR));
|
||||
::WideCharToMultiByte(CP_ACP,0,wszBuffer,IMAGE_RESOURCE_DIR_STRING_U::Length,(LPSTR)mResourceName,String::MaxString,0,0);
|
||||
pureView.pop();
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirString::zeroInit(void)
|
||||
{
|
||||
IMAGE_RESOURCE_DIR_STRING_U::Length=0;
|
||||
IMAGE_RESOURCE_DIR_STRING_U::NameString[0]=0;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user