Condividi tramite


Oggetti IddCx

L'eXtensione della classe di driver iddCx (Indirect Display Driver Class) usa il modello a oggetti UMDF estendibile per rappresentare i componenti del dispositivo di visualizzazione indiretto. Il modello a oggetti UMDF consente di associare l'archiviazione specifica del driver a ogni oggetto IddCx (e quindi UMDF). Per altre informazioni, vedere Modello a oggetti UMDF .

L'ordine in cui vengono creati gli oggetti IDD è:

  • Il driver crea innanzitutto un oggetto IDDCX_ADAPTER .
  • Il driver crea quindi un oggetto IDDCX_MONITOR .
  • Dopo aver creato gli oggetti IDDCX_ADAPTER e IDDCX_MONITOR , il sistema operativo crea IDDCX_SWAPCHAIN e IDDCX_OPMCTX oggetti e li invia al driver.

Le sezioni seguenti forniscono altri dettagli su questi oggetti.

IDDCX_ADAPTER

Questo oggetto rappresenta una singola scheda di visualizzazione logica creata dal driver in un processo in due fasi:

Il modello IDD non dispone di un callback esplicito dell'adattatore di eliminazione definitiva. Al termine della sequenza di inizializzazione dell'adattatore, l'adattatore è valido fino a quando il dispositivo UMDF non viene arrestato al momento dell'inizializzazione. Quando si crea l'adattatore, il driver fornisce informazioni sull'adattatore statico sulla scheda di visualizzazione indiretta.

Gestione dei dispositivi multifunzione

Nel caso più semplice, esiste un mapping uno-a-uno tra l'oggetto dispositivo UMDF creato dal sottosistema plug and play per il dispositivo di visualizzazione indiretto collegato e l'oggetto IDDCX_ADAPTER creato dal driver di visualizzazione indiretto (IDD).

Esistono scenari più complessi in cui un singolo dongle di visualizzazione indiretto contiene più dispositivi plug and play. Ad esempio, una soluzione di visualizzazione indiretta potrebbe avere più funzioni del dispositivo PnP, ad esempio un microfono (driver audio) e una fotocamera (driver video). In tali situazioni, è responsabilità dell'IDD creare un singolo oggetto IDDCX_ADAPTER per più oggetti dispositivo UMDF creati per ogni dispositivo PnP. Il driver deve considerare quanto segue in questo scenario:

  • Il IDDCX_ADAPTER deve essere creato solo dopo che tutti i dispositivi PnP che costituiscono la soluzione di visualizzazione indiretta sono stati avviati correttamente.
  • Il driver deve passare un singolo WDFDEVICE durante la creazione della scheda, quindi richiede la logica per decidere quale dispositivo UMDF passerà.
  • Se uno dei dispositivi che costituiscono la scheda di visualizzazione indiretta ha un errore hardware, il driver deve segnalare tutti i dispositivi che costituiscono l'adattatore come in errore.

IDDCX_MONITOR

Questo oggetto rappresenta un monitor specifico connesso a uno dei connettori sulla scheda di visualizzazione indiretta.

Il driver crea l'oggetto monitor in un processo in due fasi:

Quando un monitoraggio viene scollegato, il driver chiama il callback IddCxMonitorDeparture per segnalare che il monitoraggio è stato scollegato, causando l'eliminazione dell'oggetto IDDCX_MONITOR . Anche se lo stesso monitor non è collegato, è necessario chiamare nuovamente la sequenza IddCxMonitorDeparture/IddCxMonitorArrival .

L'IDDCX_MONITOR è un elemento figlio dell'oggetto IDDCX_ADAPTER.

IDDCX_SWAPCHAIN

Questo oggetto rappresenta una swapchain che fornirà immagini desktop da visualizzare su un monitor connesso. La swapchain include più buffer per consentire al sistema operativo di comporre l'immagine desktop successiva in un buffer mentre l'IDD accede a un altro buffer. Il IDDCX_SWAPCHAIN è un elemento figlio del IDDCX_MONITOR , quindi vi sarà un solo swapchain assegnato a un determinato monitor in qualsiasi momento.

Il sistema operativo crea ed elimina definitivamente gli oggetti IDDCX_SWAPCHAIN e li assegna ai monitoraggi usando le chiamate EvtIddCxMonitorAssignSwapChain e EvtIddCxMonitorUnassignSwapChain Ddi.

IDDCX_OPMCTX

Questo oggetto rappresenta un contesto OPM ( Output Protection Manager ) attivo da un singolo contesto OPM dell'applicazione che l'applicazione può usare per controllare la protezione dell'output in un singolo monitor. Più contesti OPM possono essere attivi contemporaneamente in un determinato monitoraggio. Il sistema operativo chiama il driver per creare ed eliminare definitivamente i contesti OPM usando le chiamate DDI DDI EvtIddCxMonitorOPMCreateProtectedOutput e EvtIddCxMonitorOPMDestroyProtectedOutput DDI del driver.