Delen via


Een eenvoudig WDF-stuurprogramma schrijven

In dit onderwerp worden de minimale functionaliteit beschreven die u nodig hebt om een KMDF-stuurprogramma (Kernel-Mode Driver Framework) te schrijven. U hebt dezelfde minimale functionaliteit nodig om een User-Mode UMDF-stuurprogramma (Driver Framework) te schrijven vanaf UMDF versie 2.

Wanneer u een nieuw KMDF- of UMDF-stuurprogramma maakt, moet u een stuurprogrammanaam met 32 tekens of minder selecteren. Deze lengtelimiet wordt gedefinieerd in wdfglobals.h. Als de naam van het stuurprogramma de maximale lengte overschrijdt, kan het stuurprogramma niet worden geladen.

Elk frameworkstuurprogramma bestaat uit een DriverEntry-routine en een set callback-functies voor gebeurtenissen die door het framework worden aangeroepen wanneer objectspecifieke gebeurtenissen plaatsvinden. Een eenvoudig frameworkstuurprogramma kan bijvoorbeeld bestaan uit:

  • Een DriverEntry-routine , die wordt aangeroepen wanneer het stuurprogramma wordt geladen en die WdfDriverCreate aanroept.

  • Een EvtDriverDeviceAdd-gebeurtenis callbackfunctie die het framework aanroept wanneer de Plug and Play-manager (PnP) de detectie rapporteert van een apparaat met een hardware-ID die overeenkomt met een hardware-ID die het stuurprogramma ondersteunt.

    U geeft de hardware-id's op die uw stuurprogramma ondersteunt door een INF-bestand op te geven, dat door het besturingssysteem wordt gebruikt om stuurprogramma's te installeren wanneer een van uw apparaten voor het eerst is verbonden met de computer. Zie Hoe Setup stuurprogramma's selecteert voor meer informatie over hoe het systeem GEBRUIKMAAKT van INF-bestanden en hardware-id's.

    De callback-functie EvtDriverDeviceAdd van het stuurprogramma roept WdfDeviceCreate aan om een frameworkapparaatobject te maken voor het apparaat dat is gedetecteerd.

  • Een verzoekhandler, zoals de EvtIoDefault callback-functie, die het framework aanroept wanneer de I/O-manager een I/O-verzoek naar het stuurprogramma verzendt.

    Wanneer de I/O-manager I/O-aanvragen naar uw stuurprogramma verzendt, plaatst het framework de aanvragen in een I/O-wachtrij en meldt het uw stuurprogramma vervolgens door een aanvraaghandler aan te roepen.

    Het stuurprogramma moet ten minste één I/O-wachtrij maken voor elk apparaat, zodat het stuurprogramma I/O-aanvragen voor het apparaat kan ontvangen. Als u een I/O-wachtrij wilt maken, roept het stuurprogramma WdfIoQueueCreate aan, waarmee een frameworkwachtrijobject wordt gemaakt en de aanvraaghandlers van het apparaat worden geregistreerd.

Zie Het framework gebruiken om een stuurprogramma te ontwikkelen voor meer informatie over het schrijven van een frameworkstuurprogramma.