Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
- Co je ovladač?
- Volba modelu řidiče
- Uzly zařízení a zásobníky zařízení
- Ovladače filtru
- Typy ovladačů WDM
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.
- V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
- V dialogovém okně Nový projekt v levém podokně vyhledejte a vyberte Visual C++ | Ovladač systému Windows | WDF.
- V prostředním podokně vyberte Ovladač uživatelského režimu (UMDF).
- 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.
- 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.
- V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
- V dialogovém okně Nový projekt v levém podokně vyhledejte a vyberte WDF.
- V prostředním podokně vyberte ovladač režimu jádra (KMDF).
- 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.
- 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.
- V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
- V dialogovém okně Nový projekt v levém podokně vyhledejte a vyberte Šablony | Visual C++ | Ovladač systému Windows.
- 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é.
- 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.
- Pokud najdete šablonu pro váš typ ovladače filtru, vyberte šablonu, vyplňte pole Název a Umístění a vyberte OK.
- 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.
V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
V prostředí Visual Studio, v dialogovém okně Nový projekt, v části Ovladač systému Windowsvyberte WDM.
Vyplňte pole Název a pole Umístění a vyberte OK.
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.
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 .
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.
Určete, jestli je pro ovladač filtru nejlepší model UMDF, KMDF nebo WDM. Nápovědu najdete v tématu Volba modelu ovladače.
V sadě Visual Studio v nabídce Soubor zvolte Nový | Projekt.
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.
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 .