Структура 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, подобен члену структуры 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 |
Устанавливает язык ресурса или установленных ресурсов. Установите значение для этого члена структуры с дополнительной инструкцией определения ресурса LANGUAGE. Параметры - константы из файла Winnt.h.
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 |
Нет |
Замечания по платформе |
Не имеется |