Architettura GDL
In questo argomento viene descritta l'architettura del linguaggio GDL (Generic Descriptor Language).
Per ogni set di dati GDL, è necessario definire uno schema GDL per descrivere il formato dei dati. Ogni file contenente un set di dati fa riferimento allo schema GDL. Questo schema consente al parser GDL di verificare che il set di dati sia conforme allo schema e di eseguire qualsiasi trasformazione specificata al momento della costruzione dello snapshot. Per tutti i dati definiti nell'oggetto Criteri di gruppo, Microsoft ha fornito uno schema standard. Inoltre, il parser consente di definire alcuni dati come configurabili. Altri dati possono essere descritti in modo da dipendere dalla configurazione usata.
La specifica può essere convertita in uno schema GDL. Ogni file contenente un set di dati fa riferimento allo schema GDL. Questo schema consente al parser GDL di verificare che il set di dati sia conforme allo schema e di eseguire qualsiasi trasformazione specificata al momento della costruzione dello snapshot.
Dopo aver definito i set di dati e lo schema, il client può creare più viste o snapshot da un singolo set di dati specificando configurazioni diverse. Per i plug-in di configurazione e rendering Unidrv, il client può accedere allo snapshot tramite i metodi nell'interfaccia IPrintCoreHelperUni . Il parser GDL caricherà lo schema specificato nel set di dati e verificherà che il set di dati sia conforme allo schema. Se il set di dati non è conforme, il parser indicherà un errore di analisi del file.
Dopo aver definito i set di dati e lo schema, il client può creare snapshot di un set di dati specificando una configurazione:
Il plug-in ottiene un puntatore all'interfaccia IPrintCoreHelperUni tramite il metodo IPrintOemUI::P ublishDriverInterface .
Il plug-in richiede l'accesso allo snapshot tramite una chiamata a IPrintCoreHelperUni::CreateGDLSnapshot o IPrintCoreHelperUni::CreateDefaultGDLSnapshot. Se il plug-in chiama CreateGDLSnapshot, il chiamante fornisce una struttura DEVMODE che include la configurazione usata dal parser per determinare la visualizzazione dello snapshot.
Il parser GDL carica lo schema specificato nel set di dati e verifica che il set di dati sia conforme al relativo schema. Se il set di dati non è conforme, verranno generati messaggi di errore.
Il parser GDL crea una struttura di dati interna dal file di origine GDL e determina la visualizzazione appropriata in base alla configurazione fornita e alle istruzioni di elaborazione nello schema.
Il parser crea una rappresentazione XML ( snapshot) delle voci di dati elaborate. Questo snapshot XML viene restituito al plug-in come flusso.
Se uno schema viene omesso, il parser eseguirà semplicemente la convalida dello schema e i valori dello snapshot verranno rappresentati nello snapshot come stringa di byte originariamente definiti nel file di origine GDL.
Nota Il metodo PublishDriverInterface fa parte dell'interfaccia IPrintOemUni e di altre interfacce. Pertanto, un plug-in non ottiene necessariamente l'interfaccia helper da IPrintOemUI::P ublishDriverInterface. Può ottenere l'interfaccia helper da IPrintOemUni::P ublishDriverInterface o altrove a seconda del tipo di interfaccia implementata dal plug-in.