Sdílet prostřednictvím


Kurz: Vytvoření ovladače univerzálního systému Windows (UMDF 2) na základě šablony

Tento článek popisuje, jak napsat univerzální ovladač windows pomocí User-Mode Driver Framework (UMDF) 2. Začnete se šablonou sady Microsoft Visual Studio a pak nasadíte a nainstalujete ovladač do samostatného počítače.

Požadavky

  • Postupujte podle kroků k instalaci Windows Driver Kit (WDK). Nástroje pro ladění pro systém Windows jsou zahrnuty, když instalujete sadu WDK.

  • Nainstalujte visual Studio 2022. Při instalaci sady Visual Studio 2022 vyberte vývoj desktopových aplikací pomocí úlohy C++ a pak v části jednotlivé komponenty přidat:

    • MSVC v143 – knihovny se zmírněnými dopady Spectre pro VS 2022 C++ ARM64/ARM64EC (nejnovější)
    • MSVC v143 – VS 2022 C++ x64/x86 knihovny zmírněné proti Spectre (nejnovější)
    • C++ ATL pro nejnovější nástroje sestavení v143 s ochranou proti Spectre (ARM64/ARM64EC)
    • C++ ATL pro nejnovější sestavovací nástroje verze v143 s mitigacemi Spectre (x86 & x64)
    • C++ MFC pro nejnovější sestavovací nástroje verze 143 s mitigacemi Spectre (ARM64/ARM64EC)
    • C++ MFC pro nejnovější nástroje sestavení v143 s ochranami proti Spectre (x86 & x64)
    • Windows Driver Kit

Vytvoření a sestavení ovladače

Poznámka

Při vytváření nového ovladače KMDF nebo UMDF musíte vybrat název ovladače, který má 32 znaků nebo méně. Tento limit délky je definován v wdfglobals.h.

  1. Otevřete Visual Studio. V nabídce Soubor zvolte Nový > Projekt.

  2. V dialogovém okně Vytvořit nový projekt vyberte v levém rozevíracím seznamu C++, v prostředním rozevíracím seznamu vyberte Windows a v pravém rozevíracím seznamu vyberte Ovladač.

  3. Ze seznamu typů projektů vyberte ovladač režimu uživatele (UMDF V2). Vyberte Další.

    Snímek obrazovky dialogového okna nového projektu s vybraným ovladačem uživatelského režimu.

    Tip

    Pokud v sadě Visual Studio nemůžete najít šablony projektů ovladačů, rozšíření WDK Visual Studio se nenainstalovalo správně. Chcete-li tento problém vyřešit, spusťte Instalační program sady Visual Studio, vyberte Upravit, přidejte Windows Driver Kit na kartě jednotlivé součásti a vyberte Upravit.

  4. V dialogovém okně Konfigurovat nový projekt zadejte v poli Název projektu "UmdfDriver".

    Poznámka

    Při vytváření nového ovladače KMDF nebo UMDF musíte vybrat název ovladače, který má 32 znaků nebo méně. Tento limit délky je definován v wdfglobals.h.  

  5. Do pole Umístění zadejte adresář, do kterého chcete nový projekt vytvořit.

  6. Zaškrtněte Umístit řešení a projekt do stejného adresáře a vyberte Vytvořit.

    Snímek obrazovky dialogového okna konfigurace projektu

    Visual Studio vytvoří jeden projekt a řešení. Můžete je zobrazit v okně Průzkumníku řešení. (Pokud okno Průzkumníka řešení není viditelné, v nabídce Zobrazení zvolte Průzkumníka řešení.) Řešení má projekt ovladače s názvem UmdfDriver. Pokud chcete zobrazit zdrojový kód ovladače, otevřete některý ze souborů v části Zdrojové soubory. Driver.c a Device.c jsou dobrým místem, kde začít.

    snímek obrazovky Průzkumníka řešení zobrazující soubory v projektu ovladače

  7. V okně Průzkumník řešení vyberte a podržte (nebo klikněte pravým tlačítkem) Řešení 'UmdfDriver' (1 z 1 projektu) a zvolte Správce konfigurace. Zvolte konfiguraci a platformu pro projekt řidiče. Například zvolte Ladění a x64.

  8. V okně Průzkumníka řešení vyberte a podržte UmdfDriver(nebo klikněte pravým tlačítkem) a zvolte Vlastnosti. Přejděte na Vlastnosti konfigurace > Nastavení ovladače > Obecné, a všimněte si, že Cílová platforma je ve výchozím nastavení Univerzální.

  9. V nabídce Build zvolte Sestavit řešení pro vytvoření ovladače. Microsoft Visual Studio zobrazuje průběh sestavení v okně Výstup. (Pokud okno Výstup není viditelné, v nabídce Zobrazení zvolte Výstup.)

    Ověřte, že výstup sestavení zahrnuje:

    >    Driver is 'Universal'.
    

    Po ověření úspěšného sestavení řešení můžete Visual Studio zavřít.

  10. Pokud chcete zobrazit integrovaný ovladač, přejděte v Průzkumníku souborů do složky UmdfDriver a pak x64\Debug\UmdfDriver. Adresář obsahuje následující soubory:

    • UmdfDriver.dll– soubor ovladače uživatelského režimu
    • UmdfDriver.inf - informační soubor, který systém Windows používá při instalaci ovladače

Nasazení a instalace ovladače univerzálního systému Windows

Při testování a ladění ovladače obvykle ladicí program a ovladač běží na samostatných počítačích. Počítač, na kterém běží ladicí program, se nazývá hostitelský počítača počítač, na kterém běží ovladač, se nazývá cílový počítač. Cílový počítač se také nazývá testovací počítač .

Důležitý

Zatím jste pomocí sady Visual Studio vytvořili ovladač na hostitelském počítači. Teď potřebujete nakonfigurovat cílový počítač. Postupujte podle pokynů v Zřízení počítače pro nasazení a testování ovladačů (WDK 10). Pak jste připraveni nasadit, nainstalovat, načíst a ladit ovladač.

  1. Na hostitelském počítači otevřete řešení v sadě Visual Studio. Ve složce UmdfDriver můžete dvakrát kliknout na soubor řešení UmdfDriver.sln.

  2. V okně Průzkumníka řešení vyberte a podržte UmdfDriver(nebo klikněte pravým tlačítkem) a zvolte Vlastnosti.

  3. Ve okně Stránky vlastností UmdfDriver přejděte na Vlastnosti konfigurace > Instalace ovladače > Nasazení,jak je znázorněno zde.

  4. Zkontrolujte Odstranit Předchozí Verze Ovladačů Před Nasazením.

  5. Pro název cílového zařízení, vyberte název počítače, který jste nakonfigurovali pro testování a ladění.

  6. Vyberte Aktualizace ovladače ID hardwaru, a zadejte ID hardwaru pro váš ovladač. V tomto cvičení je identifikátor hardwaru Root\UmdfDriver. Vyberte OK.

    snímek obrazovky stránky vlastností UMDFDriver zobrazující vybranou instalaci nasazení ovladače

    Poznámka

    V tomto cvičení ID hardwaru neidentifikuje skutečnou část hardwaru. Identifikuje imaginární zařízení, kterému je přiděleno místo ve stromu zařízení jako potomku kořenového uzlu. Pro skutečný hardware nevybírejte aktualizaci ovladače ID hardwaru; místo toho vyberte Instalovat a Ověřit. ID hardwaru můžete zobrazit v souboru s informacemi o ovladači (INF). V okně Průzkumníka řešení přejděte na položku Soubory ovladačů UmdfDriver >a poklikejte na UmdfDriver.inf. ID hardwaru je pod [Standard.NT$ARCH$].

    [Standard.NT$ARCH$]
    %DeviceName%=MyDevice_Install,Root\UmdfDriver
    
  7. V nabídce Ladění zvolte Spustit laděnínebo stiskněte F5 na klávesnici.

  8. Počkejte, až se ovladač nasadí, nainstaluje a načte do cílového počítače. Může to trvat několik minut.

Použití rozhraní DMF (Driver Module Framework)

Driver Module Framework (DMF) je rozšíření WDF, které umožňuje vývojářům ovladačů WDF další funkce. Pomáhá vývojářům psát jakýkoli typ ovladače WDF lépe a rychleji.

DMF jako architektura umožňuje vytvářet objekty WDF označované jako moduly DMF. Kód pro tyto moduly DMF lze sdílet mezi různými ovladači. DMF navíc obsahuje knihovnu modulů DMF, které jsme vyvinuli pro naše ovladače a domníváme se, že by poskytovaly hodnotu ostatním vývojářům ovladačů.

DMF nenahrazuje WDF. DMF je druhá architektura, která se používá s WDF. Vývojář používající DMF stále používá WDF a všechny jeho primitivy k zápisu ovladačů zařízení.

Další informace najdete v tématu Driver Module Framework (DMF).