Condividi tramite


Panoramica dell'architettura

L'architettura WPD può essere suddivisa in tre processi. All'interno di questi processi sono i tre componenti principali di WPD: l'API, il serializzatore e il driver. La figura seguente illustra questi processi e componenti che costituiscono l'architettura WPD.

i 3 processi che costituiscono wpd.

l'interfaccia di programmazione dell'applicazione WPD

L'API WPD viene implementata come server COM in-proc. L'API usa api Microsoft Win32 standard per comunicare con il driver WPD appropriato. Un componente denominato serializzatore WPD viene usato sia dagli oggetti API che dal driver per comprimere o decomprimere i parametri da o verso i buffer WDF (Windows Driver Framework) -User-Mode Driver Framework (UMDF).

Serializzatore WPD

Il serializzatore WPD viene implementato anche come server COM in-proc. L'API WPD usa il serializzatore per comprimere comandi e parametri in buffer di messaggi inviati al driver. Il driver usa il serializzatore per decomprimere questi buffer di messaggi per l'elaborazione. Il driver usa anche il serializzatore per comprimere i dati e i parametri nei buffer di risposta restituiti all'API WPD e l'API WPD usa il serializzatore per decomprimere questi buffer di risposta per restituire i risultati ai chiamanti.

driver WPD

Il driver WPD è implementato come driver standard nel Windows Driver Framework (WDF)-User-Mode Driver Framework (UMDF). I driver WPD sono ospitati da WUDF in un processo separato denominato Host driver.

Il driver riceve messaggi dal riflettore WUDF (questo non viene visualizzato nel diagramma, perché il modo in cui i buffer vengono ricevuti non è importante per il driver. Per altre informazioni, vedere la documentazione di WUDF. Il driver implementa un gestore IOCTL specifico di WPD per elaborare i messaggi WPD ricevuti dall'API WPD. Il driver usa il serializzatore WPD per decomprimere comandi e parametri da questi buffer di messaggi e per comprimere la risposta nel buffer.

I driver WPD possono comunicare con i propri dispositivi passando attraverso un driver in modalità kernel, in genere accessibili tramite operazioni di file Win32 (ad esempio CreateFile, ReadFile, WriteFile e così via). Per gli autobus comuni, Microsoft fornirà driver kernel standard per i fornitori da usare, che consentirà ai fornitori di spedire una soluzione di driver solo in modalità utente.