- Alue 0x90400000-0x904FFFFF on varattu AROS:ille.
- Alue 0x90420000-0x9042FFFF on varattu Zunen ydinluokille, kuten
muimaster.library:n sisäiset luokat (SVN:workbench/libs/muimaster).
- Alue 0x90470000-0x9047FFFF on varattu AROS:in ydinluokille, kuten ulkoisille
luokille (SVN:workbench/classes/zune).
Mukavuuden vuoksi ovat seuraavat definet käytettävissä:
MUIB_MUI = TAG_USER = 0x80000000 /* Base for legacy MUI identifiers */
MUIB_RSVD = (MUIB_MUI | 0x10400000) = 0x90400000 /* Base for AROS reserved range */
MUIB_ZUNE = (MUIB_RSVD | 0x00020000) = 0x90420000 /* Base for Zune core reserved range */
MUIB_AROS = (MUIB_RSVD | 0x00070000) = 0x90470000 /* Base for AROS core reserved range */
Tunnisteet ovat muodossa (BASE | 0x0000ccnn), missä:
- BASE on joko MUIB_ZUNE tai MUIB_AROS.
- cc on luokan numero.
- nn on metodin taikka atribuutin numero.
Luokka-, metodi- ja atribuuttinumerot varataan sekventiaalisesti jotta
tyhjät paikat löytyvät helposti. Metodi- ja atribuuttitunnisteet sijaitsevat
eri numeroavaruudessa, joten metodilla voi olla (ja todennäköisesti onkin)
sama tunniste kuin atribuutilla.
Kun uusi luokka luodaan, valitaan sopiva BASE riippuen luokan tyypistä.
Sen jälkeen varataan luokan numero valitsemalla pienin mahdollinen vielä
varaamaton numero. Luokan ensimmäinen metodi (ja ensimmäinen atribuutti) tulee
saamaan tunnisteen (BASE | 0x0000cc00 | 0x00000000), ja toinen (BASE |
0x0000cc00 | 0x00000001) ja niin edelleen.
Tärkeää
Aina varmista että päivität seuraavassa osiossa olevan arkiston
luodessasi uuden luokan, metodin ja/tai atribuutin! Tämä on tarpeen
jotteivät tunnisteet törmää toisiinsa.
Huomautus
Kaikki MUI luokat saavat omat alueensa Zunen ytimen alueelta missä varataan
tunnisteet Zune laajennoksille näihin luokkiin (esim. lisättäessä uusi
metodi MUIC_Window:ille).