Sdílet prostřednictvím


Vytvoření nového ovladače filtru

V tomto tématu vysvětlujeme, jak pomocí sady Visual Studio začít psát nový ovladač filtru. Ovladače filtru se liší od ovladačů funkcí zařízení, softwarových ovladačů a ovladačů systému souborů, které probíráme v jiných tématech. Informace o ovladačích filtru a jejich rozdílech od jiných typů ovladačů najdete v následujících tématech.

Nejprve určete, který model ovladače je vhodný pro váš ovladač filtru. Nápovědu k určení modelu, který je pro vás nejvhodnější, najdete v tématu Volba modelu ovladače. Pokud píšete ovladač filtru pro hardwarové zařízení, určete, kde vaše zařízení zapadá do seznamu technologií popsaných v tématu Technologie zařízení a ovladačů. Informace o tom, jestli existují nějaké pokyny k výběru modelu ovladače filtru, najdete v dokumentaci pro danou konkrétní technologii. Doporučený model ovladače filtru se liší od jedné technologie po další. U některých technologií doporučuje dokumentace použít rozhraní UMDF (User Mode Driver Framework), rozhraní kmDF (Kernel Mode Driver Framework) nebo Model ovladače systému Windows (WDM). V případě jiných technologií poskytuje dokumentace explicitní podrobnosti o tom, jak napsat ovladač filtru. Některé technologie mají modely minifiltrů. U některých technologií nemusí existovat žádné doporučení pro model ovladače filtru.

Dále určete, které z následujících případů popisuje doporučení modelu ovladače, a postupujte podle těchto kroků:

Případ 1: Dokumentace pro vaši technologii doporučuje UMDF.

  1. V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
  2. V dialogovém okně Nový projekt v levém podokně vyhledejte a vyberte Visual C++ | Ovladač systému Windows | WDF.
  3. V prostředním podokně vyberte Ovladač uživatelského režimu (UMDF).
  4. Vyplňte pole Název a pole Umístění a vyberte OK. Další informace naleznete v tématu Zápis ovladače UMDF na základě šablony. Poznámka Při vytváření nového ovladače 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. V tuto chvíli máte projekt ovladače, který implementuje obecný kód vyžadovaný většinou ovladačů UMDF. Teď můžete zadat kód, který je specifický pro váš filtr.

Případ 2: Dokumentace pro vaši technologii doporučuje službu KMDF.

  1. V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
  2. V dialogovém okně Nový projekt v levém podokně vyhledejte a vyberte WDF.
  3. V prostředním podokně vyberte ovladač režimu jádra (KMDF).
  4. Vyplňte pole Název a pole Umístění a vyberte OK. Další informace najdete v tématu Zápis ovladače KMDF na základě šablony. Poznámka Při vytváření nového ovladače KMDF 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. V tuto chvíli máte projekt ovladače, který implementuje obecný kód vyžadovaný většinou ovladačů KMDF. Teď můžete zadat kód, který je specifický pro váš filtr.

Případ 3: Dokumentace pro vaši technologii popisuje konkrétní filtr nebo minifiltrovací model.

Pokud má vaše technologie zařízení konkrétní filtr nebo model minifiltru, zkontrolujte, jestli sada Visual Studio obsahuje šablonu modelu.

  1. V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
  2. V dialogovém okně Nový projekt v levém podokně vyhledejte a vyberte Šablony | Visual C++ | Ovladač systému Windows.
  3. Projděte si seznam nainstalovaných šablon a zjistěte, jestli existuje šablona pro typ filtru, který potřebujete napsat. Můžete například zvolit šablonu Ovladač filtru: NDIS v části Síťové.
  4. Pokud pro váš typ ovladače filtru v části Ovladač systému Windows neexistuje žádná šablona, vyberte Online a procházejte šablony, které jsou k dispozici online.
  5. Pokud najdete šablonu pro váš typ ovladače filtru, vyberte šablonu, vyplňte pole Název a Umístění a vyberte OK.
  6. V tuto chvíli máte projekt ovladače, který implementuje obecný kód vyžadovaný ovladačem filtru. Teď můžete zadat kód, který je specifický pro váš filtr. Informace o funkcích, které potřebujete implementovat, najdete v dokumentaci ke své technologii.

Pokud má vaše technologie zařízení konkrétní model filtru nebo model minifiltru a nemůžete najít šablonu pro váš typ ovladače filtru, projděte si dokumentaci specifickou pro danou technologii a zjistěte, jestli se má použít UMDF, KMDF nebo WDM.

Případ 4: Dokumentace pro vaši technologii doporučuje WDM.

  1. V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.

  2. V prostředí Visual Studio, v dialogovém okně Nový projekt, v části Ovladač systému Windowsvyberte WDM.

  3. Vyplňte pole Název a pole Umístění a vyberte OK.

  4. V tuto chvíli máte prázdný projekt ovladače WDM. V okně Průzkumníka řešení vyberte a podržte projekt ovladače (nebo na ho klikněte pravým tlačítkem myši) a zvolte Přidat | Nová položka.

  5. V dialogovém okně Přidat novou položku vyberte souborC++ (.cpp), zadejte název souboru a vyberte OK.

    Poznámka Pokud chcete vytvořit soubor .c místo souboru .cpp, zadejte název, který má příponu .c .

  6. Implementujte funkce požadované filtrem. Při implementaci a uspořádání funkcí se můžete rozhodnout přidat další soubory .cpp nebo .c.

Případ 5: Dokumentace pro vaši technologii nemá doporučení pro model ovladače filtru.

  1. Určete, jestli je pro ovladač filtru nejlepší model UMDF, KMDF nebo WDM. Nápovědu najdete v tématu Volba modelu ovladače.

  2. V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.

  3. V sadě Visual Studio vyberte v dialogovém okně Nový projekt v části Ovladač systému Windows jednu z následujících šablon:

    • WDF | Ovladač uživatelského režimu (UMDF)
    • WDF | Ovladač režimu jádra (KMDF)
    • WDM | Prázdný jádrový ovladač

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

  4. Implementujte funkce požadované filtrem. Podle potřeby vytvořte nové soubory .c nebo .cpp.

Pokud si nejste jistí, kterou šablonu použít, zvažte čtení nebo publikování na fóru Windows Hardware WDK a Driver Development .