void WriteResourceDirectoryString(ResourceDirectoryString name)
        {
            GotoOffset(name.Offset);

            byte [] str = Encoding.Unicode.GetBytes(name.String);
            m_writer.Write((ushort)str.Length);
            m_writer.Write(str);

            RestoreOffset();
        }
        ResourceDirectoryString ReadDirectoryString(int offset)
        {
            long pos = m_reader.BaseStream.Position;

            m_reader.BaseStream.Position = offset;

            byte [] str = m_reader.ReadBytes(m_reader.ReadUInt16());

            ResourceDirectoryString rds = new ResourceDirectoryString(
                Encoding.Unicode.GetString(str, 0, str.Length),
                GetOffset());

            m_reader.BaseStream.Position = pos;

            return(rds);
        }