Jednotná práce se všemi zařízeními osobního počítače v systému Windows, jakož i některé další funkce operačního systému jsou poskytovány sadou ovladačů. Abyste mohli psát ovladače, musíte dobře rozumět programování, principům jádra a různých subsystémů Windows.
Nezbytné
Windows Driver Development Kit
Instrukce
Krok 1
Stáhněte si distribuci Windows Driver Development Kit (DDK) z webu microsoft.com (k dispozici pro předplatitele MSDN) a nainstalujte ji do počítače. Tento balíček obsahuje všechny potřebné nástroje pro vývoj a vytváření ovladačů (kompilátor, linker, hlavičkové soubory, knihovny) a komplexní dokumentaci.
Krok 2
Podrobně si prostudujte veškerou dostupnou dokumentaci k psaní ovladačů pro Windows. Použijte referenční informace z DDK a souvisejícího tématu MSDN (msdn.microsoft.com). Musíte plně porozumět všem aspektům modelu Windows Driver Model (WDM) a pochopit základní architektonické koncepty. Musíte jasně pochopit rozdíly mezi ovladači v uživatelském režimu a v režimu jádra, ovladači zařízení a ovladači systému souborů. Musíte znát vlastnosti různých tříd ovladačů, jejich typů (ovladače sběrnice, filtry, funkční ovladače) a podtypů (ovladače zobrazení, modemy, síťová zařízení, paralelní a sériové porty, úložná zařízení). Věnujte zvláštní pozornost principům Packet-Driven I / O s opakovaně použitelnými IRP, správou paměti, zpracováním výjimek a správnému použití synchronizačních objektů.
Krok 3
Jasně definujte funkčnost vyvíjeného ovladače. Na základě toho určete, k jakému typu a třídě patří.
Krok 4
Vyberte programovací jazyk. Ovladače režimu jádra jsou tradičně implementovány v C. Ovladače uživatelského režimu jsou obvykle vyvíjeny v C ++. Existuje několik výjimek z těchto pravidel. Například klientské minidrivery pro audio a video streamy, zvukové ovladače WDM pro miniporty režimu jádra, ovladače WIA a někdy ovladače zobrazení jsou napsány v C ++.
Krok 5
Vytvořte projekt, který implementuje stub ovladače. Prozkoumejte adresář DDK s příklady. Najděte správný ukázkový projekt ovladače. Pokud nemůžete najít vhodný příklad, vytvořte si sami soubory, které obsahují požadovaný zdrojový kód, a vytvořte soubory skriptu. Například při vývoji ovladače v režimu jádra musíte implementovat funkci DriverEntry, která obsahuje inicializační kód a některé standardní rutiny (například AddDevice, StartIo atd.).
Krok 6
Implementujte funkce ovladače. Přidejte kód k funkcím vytvořeným v předchozím kroku. Přidejte logiku pro zpracování I / O požadavků atd.