Win32 Resource bestandsindelingen

Deze sectie beschrijft de indeling van het binaire bronbestand dat de resource compiler wordt gemaakt op basis van de inhoud van de resource-definitiebestand. Dit bestand heeft meestal een.RES extensie. De linker formatteert de.RES bestand in een resource-object bestand en het vervolgens gekoppeld aan het uitvoerbare bestand van een Win32-toepassing.

Een binaire bronbestand bestaat uit een aantal aaneengeschakelde resource posten. Elke vermelding bestaat uit een header resource en de gegevens voor die resource. De koptekst van een resource is DWORD-uitgelijnd in het bestand en bestaat uit de volgende:

De RESOURCEHEADER structuur beschrijft de indeling van deze header. De gegevens voor de resource volgt de header resource en is specifiek voor elk type van de resource. Sommige bronnen ook gebruikmaken van een resource-specifieke header groepsstructuur informatie te verstrekken over een groep resources.

Een tabel accelerator is één resourcepost in een bronbestand. Het hoeft niet een groepskoptekst. Een ACCELTABLEENTRY structuur beschrijft elke vermelding in de tabel versneller. Meerdere versneller tabellen zijn toegestaan.

Een dialoogvenster is ook één resource ingang in het bronbestand. Het bestaat uit één DLGTEMPLATE dialoogvenster vak Koptekst structuur plus één DLGITEMTEMPLATE structuur voor elk besturingselement in het dialoogvenster. De DLGTEMPLATEEX en de DLGITEMTEMPLATEEX structuren beschrijven de indeling van het uitgebreide dialoogvenster vak middelen.

Lettertypen worden opgeslagen in het bronbestand als een groep resources. Afzonderlijke lettertypen make-up een groep Lettertype. A lettertypeverklaring resource definitie-instructie in de.RC-bestand definieert elk lettertype. Elke individuele lettertype in de resource bestaat uit de volledige inhoud van de verwante.FNT bestand. Een FONTGROUPHDR structuur volgt alle afzonderlijke lettertype-onderdelen in de.RES bestand.

Font resources worden niet toegevoegd aan de middelen van een specifieke toepassing. In plaats daarvan zijn ze normaal toegevoegd aan uitvoerbare bestanden die hebben een.FON extensie. Deze bestanden zijn gewoonlijk alleen-resource dynamic-link libraries (DLL's) in plaats van toepassingen.

Het systeem zorgt voor elk pictogram en cursor als een enkel bestand. Echter, deze worden opgeslagen.RES bestanden en in uitvoerbare bestanden als een groep van pictogram middelen of een groep van cursor middelen. De bestandsindelingen van icoon en cursor middelen zijn vergelijkbaar. In het.RES bestand een groepskoptekst resource volgt alle individuele pictogram of cursor groep onderdelen.

De indeling van elk pictogram onderdeel sterk lijkt op de indeling van de.ICO bestand. Elk pictogramafbeelding is opgeslagen in een BITMAPINFO structuur gevolgd door de kleur apparaatonafhankelijke bitmap (DIB) stukjes van het pictogram XOR masker. De monochroom DIB stukjes van het pictogram en masker de kleur DIB bits volgen.

De indeling van elke component cursor lijkt op de indeling van de.CUR bestand. Elke cursor afbeelding is opgeslagen in een BITMAPINFO structuur, gevolgd door de bits monochroom apparaatonafhankelijke bitmap (DIB) van van de cursor XOR masker, en vervolgens door de monochrome DIB stukjes van de cursor en maskeren. Merk op dat er een verschil in de bitmaps van de twee resources: in tegenstelling tot de pictogrammen, cursor XOR maskers hebben geen kleur DIB bits. Hoewel de bitmaps van de cursor maskers zwart-wit zijn en geen DIB headers of kleurentabellen hebben, zijn de bits nog steeds in de DIB-indeling met betrekking tot uitlijning en richting. Een ander belangrijk verschil tussen cursors en pictogrammen is dat cursors een hotspot hebben en pictogrammen niet.

De groepskoptekst voor zowel pictogram en cursor middelen bestaat uit een NEWHEADER plus een of meer structuren met RESDIR structuur. Er is een RESDIR structuur voor elk pictogram of cursor. De groepskoptekst bevat informatie die een Win32-toepassing nodig heeft om de juiste pictogram of cursor weergeven te selecteren. Zowel de groepskoptekst en de gegevens dat wordt herhaald voor elk pictogram of de cursor in de groep hebben een vaste lengte. De toepassing kan willekeurig toegang tot de informatie.

Een resource menu bestaat uit een MENUHEADER structuur gevolgd door een of meer NORMALMENUITEM of POPUPMENUITEM structuren, één voor elk menu-item in het menusjabloon. De MENUEX_TEMPLATE_HEADER en de MENUEX_TEMPLATE_ITEM structuren beschrijven de indeling van de uitgebreide menu middelen.

Een tabel bericht is een bron die opgemaakte tekst voor weergave als een foutbericht wordt weergegeven of in een berichtvenster bevat. De belangrijkste structuur in een bericht tabel resource is de MESSAGE_RESOURCE_DATA structuur.

De belangrijkste structuur in een versie resource is de VS_FIXEDFILEINFO structuur. Aanvullende structuren omvatten de VarFileInfo structuur de opslaggegevens taal informatie, en StringFileInfo voor de gebruiker gedefinieerde tekenreeks informatie. Alle tekenreeksen in een versie resource zijn in Unicode-indeling voor Win32-toepassingen. Elk blok van informatie wordt uitgelijnd op een DWORD -boundary.

Zie voor een lijst van de structuren die de indeling van de middelen beschrijven, Resource structuren.

Index