Condividi tramite


Migrazione a WDDM

Nota

I driver XDDM e VGA non verranno compilati nei sistemi operativi Windows 8 e versioni successive. Se l'hardware di visualizzazione è collegato a un computer Windows 8 senza un driver certificato per supportare WDDM 1.2 o versione successiva, per impostazione predefinita il sistema esegue il driver di visualizzazione basic.

I nuovi driver devono essere scritti come driver WDDM.

Per eseguire la migrazione al modello wdDM (Windows Display Driver Model), gli sviluppatori di driver devono scrivere driver di visualizzazione e miniport video completamente diversi. Analogamente al modello di driver di visualizzazione di Windows 2000 (XDDM), WDDM richiede un driver di visualizzazione associato e un driver miniport di visualizzazione. Tuttavia, il driver di visualizzazione viene eseguito in modalità utente in WDDM. Inoltre, il modello non usa i servizi del motore GDI (Graphics Device Interface) di Windows. Usa invece i servizi del runtime Direct3D e del sottosistema kernel grafico DirectX (Dxgkrnl.sys).

Anche se i writer di driver possono riutilizzare codice dipendente dall'hardware di basso livello nei driver WDDM, è necessario riscrivere il nuovo codice correlato all'interfaccia del driver di dispositivo . Quando si scrivono driver WDDM, considerare questi punti:

  • Il driver miniport di visualizzazione deve implementare un set modificato di funzioni del punto di ingresso per interagire con il sistema operativo e il sottosistema kernel grafico DirectX. Per altre informazioni, vedere DriverEntry of Display Miniport Driver.For more information, see DriverEntry of Display Miniport Driver. Il driver miniport di visualizzazione può chiamare qualsiasi funzione kernel documentata.

  • Il driver miniport di visualizzazione carica dinamicamente il sottosistema del kernel grafico DirectX appropriato. Il driver miniport di visualizzazione e il sottosistema kernel grafico DirectX si chiamano tra loro tramite interfacce.

  • Il driver miniport di visualizzazione non è più necessario per elaborare la maggior parte dei codici di controllo I/O video (IOCTL). In XDDM, il driver di visualizzazione in modalità kernel usa questi codici per comunicare con il driver miniport video. In WDDM, il driver di visualizzazione in modalità utente comunica con il runtime Direct3D; il sottosistema kernel grafico WDDM, a sua volta, comunica con il driver miniport di visualizzazione. Nota I seguenti IOCTLs vengono ancora usati in WDDM e il driver miniport di visualizzazione deve elaborarli: IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS

  • Il driver di visualizzazione in modalità utente deve implementare ed esportare una funzione OpenAdapter , che apre un'istanza della scheda grafica. Il driver di visualizzazione in modalità utente deve anche implementare una funzione CreateDevice , che crea rappresentazioni di dispositivi di visualizzazione che gestiscono raccolte di stato di rendering.

  • La funzione CreateResource del driver di visualizzazione in modalità utente, insieme alla funzione DxgkDdiCreateAllocation del driver miniport, sostituisce le funzioni DdCanCreateSurface, DdCreateSurface e D3dCreateSurfaceEx in XDDM.

  • La maggior parte delle funzioni del driver di visualizzazione WDDM in modalità utente rimanenti implementa la stessa funzionalità implementata dal driver di visualizzazione XDDM in modalità kernel nelle funzioni seguenti: