Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De WPD-architectuur kan worden onderverdeeld in drie processen. Binnen deze processen zijn de drie primaire onderdelen van WPD: de API, de serialisatiefunctie en het stuurprogramma. In de volgende afbeelding ziet u deze processen en onderdelen die de WPD-architectuur vormen.
de WPD Application Programming Interface
De WPD-API wordt geïmplementeerd als een in-proc COM-server. De API maakt gebruik van standaard Microsoft Win32-API's om te communiceren met het juiste WPD-stuurprogramma. Een component genaamd WPD serializer wordt door zowel API-objecten als de driver gebruikt om parameters te verpakken naar of uit te pakken van Windows Driver Frameworks (WDF)-User-Mode Driver Framework (UMDF) buffers.
De WPD-serialisatiefunctie
De WPD-serializer wordt ook geïmplementeerd als een in-proc COM-server. De WPD-API maakt gebruik van de serializer voor het inpakken van opdrachten en parameters in berichtbuffers die naar het stuurprogramma worden verzonden. Het stuurprogramma gebruikt de serializer om deze berichtbuffers uit te pakken voor verwerking. Het stuurprogramma gebruikt ook de serializer om gegevens en parameters in antwoordbuffers te verpakken die worden geretourneerd naar de WPD-API en de WPD-API gebruikt de serializer om deze reactiebuffers uit te pakken om de resultaten te retourneren aan aanroepers.
WPD-stuurprogramma
Het WPD-stuurprogramma wordt geïmplementeerd als een standaardstuurprogramma voor Windows Driver Frameworks (WDF)-User-Mode driver Driver Framework (UMDF). WPD-stuurprogramma's worden gehost door WUDF in een afzonderlijk proces dat de stuurprogrammahost wordt genoemd.
De bestuurder ontvangt berichten van de WUDF reflector (dit wordt niet weergegeven in het diagram, omdat hoe de buffers worden ontvangen niet belangrijk is voor de bestuurder. Zie de WUDF-documentatie voor meer informatie). Het stuurprogramma implementeert een WPD-specifieke IOCTL-handler voor het verwerken van WPD-berichten die zijn ontvangen door de WPD-API. Het stuurprogramma gebruikt de WPD-serializer om opdrachten en parameters uit deze berichtbuffers uit te pakken en om het antwoord in de buffer in te pakken.
WPD-stuurprogramma's kunnen communiceren met hun apparaten door een kernelmodusstuurprogramma te doorlopen, meestal toegankelijk via Win32-bestandsbewerkingen (zoals CreateFile, ReadFile, WriteFile, enzovoort). Voor de algemene bussen biedt Microsoft standaard kernelstuurprogramma's die leveranciers kunnen gebruiken, zodat leveranciers een oplossing voor alleen gebruikersmodus kunnen verzenden.