Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In dit onderwerp wordt de architectuur van de Generic Descriptor Language (GDL) beschreven.
Voor elke GDL-gegevensset moet u een GDL-schema definiëren om de indeling van gegevens te beschrijven. Elk bestand met een gegevensset verwijst naar het GDL-schema. Met dit schema kan de GDL-parser controleren of de gegevensset voldoet aan het schema en eventuele opgegeven transformaties uitvoert wanneer de momentopname wordt gemaakt. Voor alle gegevens die in de GPD zijn gedefinieerd, heeft Microsoft een standaardschema opgegeven. Bovendien kunt u met de parser bepaalde gegevens definiëren als configureerbaar. Andere gegevens kunnen worden beschreven op een manier die deze afhankelijk maakt van de configuratie die wordt gebruikt.
De specificatie kan worden geconverteerd naar een GDL-schema. Elk bestand met een gegevensset verwijst naar het GDL-schema. Met dit schema kan de GDL-parser controleren of de gegevensset voldoet aan het schema en eventuele opgegeven transformaties uitvoert wanneer de momentopname wordt gemaakt.
Nadat de gegevenssets en het schema zijn gedefinieerd, kan de client meerdere weergaven of momentopnamen maken op basis van één gegevensset door verschillende configuraties op te geven. Voor Unidrv-configuratie- en renderinginvoegtoepassingen heeft de client toegang tot de momentopname via de methoden in de interface IPrintCoreHelperUni . De GDL-parser laadt het schema dat is opgegeven in de gegevensset en controleert of de gegevensset voldoet aan het bijbehorende schema. Als de gegevensset niet voldoet, geeft de parser aan dat het bestand niet kan worden geparseerd.
Nadat de gegevenssets en het schema zijn gedefinieerd, kan de client momentopnamen van een gegevensset maken door een configuratie op te geven:
De invoegtoepassing verkrijgt een aanwijzer naar de IPrintCoreHelperUni-interface via de methode IPrintOemUI::P ublishDriverInterface .
De invoegtoepassing vraagt toegang tot de momentopname via een aanroep naar IPrintCoreHelperUni::CreateGDLSnapshot of IPrintCoreHelperUni::CreateDefaultGDLSnapshot. Als de invoegtoepassing CreateGDLSnapshot aanroept, biedt de aanroeper een DEVMODE-structuur die de configuratie bevat die de parser gebruikt om de weergave van de momentopname te bepalen.
De GDL-parser laadt het schema dat is opgegeven in de gegevensset en controleert of de gegevensset voldoet aan het schema. Als de gegevensset niet voldoet, worden er foutberichten uitgegeven.
De GDL-parser maakt een interne gegevensstructuur van het GDL-bronbestand en bepaalt de juiste weergave op basis van de verstrekte configuratie en de verwerkingsinstructies in het schema.
De parser maakt een XML-weergave (de momentopname) van de verwerkte gegevensvermeldingen. Deze XML-momentopname wordt als een stream naar de invoegtoepassing geretourneerd.
Als een schema wordt weggelaten, voert de parser gewoon schemavalidatie uit en worden de momentopnamewaarden weergegeven in de momentopname als de tekenreeks van bytes die oorspronkelijk zijn gedefinieerd in het GDL-bronbestand.
Notitie De methode PublishDriverInterface maakt ook deel uit van de IPrintOemUni-interface en andere interfaces. Een invoegtoepassing krijgt dus niet noodzakelijkerwijs de helperinterface van IPrintOemUI::P ublishDriverInterface. De helperinterface kan worden opgehaald uit IPrintOemUni::P ublishDriverInterface of elders, afhankelijk van het type interface dat door de invoegtoepassing wordt geïmplementeerd.