Структура RESOURCEHEADER 


Структура RESOURCEHEADER содержит информацию о заголовке ресурса непосредственно и данные, конкретные для этого ресурса. Эта структура - не истинная C - язычная структура, потому что она содержит члены переменной длины. Определение структуры предоставлено здесь  только для объяснения; она не представлена в каком-либо стандартном заголовочном файле.

Синтаксис

struct RESOURCEHEADER {
  DWORD DataSize;
  DWORD HeaderSize;
  [Ordinal or name TYPE];
  [Ordinal or name NAME];
  DWORD DataVersion;
  WORD MemoryFlags;
  WORD LanguageId;
  DWORD Version;
  DWORD Characteristics;
};

Члены структуры

DataSize

Устанавливает размер данных, в байтах, которые следуют за заголовком ресурса для этого конкретного ресурса. Параметр не включает какое-либо дополнение файла между этим ресурсом и каким-либо ресурсом, который следует за ним в файле ресурса.

HeaderSize

Устанавливает размер данных заголовка ресурса, в байтах, которые следуют за ним.

TYPE

Идентифицирует тип ресурса. Член структуры TYPE может быть или числовым значением или символьной строкой Unicode с символом конца строки ('\0'), которая определяет имя типа. См. нижеследующий раздел Замечаний, где описывается тип членов структуры Name (Имя), или Ordinal (Порядковый номер).

Если член структуры TYPE - числовое значение, он может определять или стандартный или определяемый пользователем тип ресурса. Если член структуры - символьная строка, то это - определяемый пользователем тип ресурса. Список предопределенных типов ресурса, см. в статье Типы ресурсов.

Значения меньше чем 256 зарезервированы для системного использования.

NAME

Устанавливает имя, которое идентифицирует конкретный ресурс. Член структуры NAME, подобен члену структуры TYPE, может быть или числовым значением, или символьной строкой Unicode с символом конца строки ('\0'). См. нижеследующий раздел Замечаний, где описывается тип членов структуры Name (Имя), или Ordinal (Порядковый номер).

Вам не надо добавлять заполнение нулями для выравнивания  до двойного слова (DWORD) между членами TYPE и NAME, потому что они содержат данные в СЛОВАХ (WORD). Однако, возможно, придется добавить СЛОВО (WORD) дополнения после члена структуры NAME, чтобы выровнять остальную часть заголовка по границам двойного слова (DWORD).

DataVersion

Устанавливает предопределенную версию данных ресурса. Это обуславливает какую версию данных ресурса приложение должно использовать.

MemoryFlags

Устанавливает набор флажков атрибутов, которые могут характеризовать состояние ресурса. Модификаторы в файле сценария .RC назначают эти атрибуты ресурсу. Идентификаторы сценария могут назначить нижеследующие значения флажка.

Приложения не используют какой - либо из этих атрибутов. Атрибуты допускаются в сценарии для совместимости вниз с существующими сценариями, но они игнорируются. Ресурсы загружаются тогда, когда соответствующий модуль загружен, а освобождаются, когда модуль выгружается.

Значение Величина
MOVEABLE 0x0010
FIXED ~MOVEABLE
PURE 0x0020
IMPURE ~PURE
PRELOAD 0x0040
LOADONCALL ~PRELOAD
DISCARDABLE 0x1000
LanguageId

Устанавливает язык  ресурса или установленных ресурсов. Установите значение для этого члена структуры с дополнительной инструкцией определения ресурса LANGUAGE. Параметры - константы из файла Winnt.h.

Каждый ресурс включает идентификатор языка так, чтобы система или приложение могли выбрать язык, соответствующий текущему месту действия системы. Если имеется несколько ресурсов одного и того же типа и имени, которые отличаются только по языку символьных строк внутри ресурса, Вам необходимо установить параметр LanguageId для каждого из них.

Version

Устанавливает определяемый пользователем номер версии для данных ресурса, который могут использовать инструментальные средства, чтобы читать и записывать файлы ресурса. Это значение устанавливается при помощи дополнительной инструкции определения ресурса VERSION.

Characteristics

Устанавливает определяемую пользователем информацию о ресурсе, которую инструментальные средства могут использовать, чтобы читать и записывать файлы ресурса Это значение устанавливается при помощи дополнительной инструкции определения ресурса CHARACTERISTICS.

Замечания

Член структуры типа переменной, называется членом Name или Ordinal  и используется в большинстве мест в файле ресурса, где показывается идентификатор. Первое СЛОВО (WORD) типа Name или Ordinal члена указывает, является ли член структуры числовым значением или символьной строкой. Если первое СЛОВО в члене структуры равно величине 0xffff, которая является недопустимым символом Unicode, то следующее СЛОВО - обычное число. В противном случае, член структуры содержит символьную строку Unicode, а первое СЛОВО в члене структуры - первый символ в строке имени. За дополнительной информацией об операторах определения ресурса см. статью Инструкции определения ресурса.

Смотри также 

Обзор Ресурсы, Структуры, используемые ресурсами, CHARACTERISTICS Statement,  LANGUAGE Statement,  VERSION Statement

Размещение и совместимость RESOURCEHEADER

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

-

Заголовочный файл

 

- объявлено в

-

- включено в

-

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz