Ujednoliconą pracę ze wszystkimi urządzeniami komputera osobistego w systemie Windows, a także niektóre inne funkcje systemu operacyjnego zapewnia zestaw sterowników. Aby pisać sterowniki, musisz dobrze rozumieć programowanie, zasady jądra i różnych podsystemów Windows.
Niezbędny
Zestaw rozwojowy sterowników Windows
Instrukcje
Krok 1
Pobierz dystrybucję zestawu Windows Driver Development Kit (DDK) z witryny microsoft.com (dostępnej dla subskrybentów MSDN) i zainstaluj ją na swoim komputerze. Pakiet ten zawiera wszystkie niezbędne narzędzia do tworzenia i budowania sterowników (kompilator, linker, pliki nagłówkowe, biblioteki), a także obszerną dokumentację.
Krok 2
Przestudiuj szczegółowo całą dostępną dokumentację dotyczącą pisania sterowników dla systemu Windows. Skorzystaj z informacji referencyjnych z DDK i powiązanego tematu MSDN (msdn.microsoft.com). Musisz w pełni zrozumieć wszystkie aspekty modelu sterownika Windows (WDM) i zrozumieć podstawowe koncepcje architektoniczne. Należy wyraźnie zrozumieć różnice między sterownikami trybu użytkownika i trybu jądra, sterownikami urządzeń i sterownikami systemu plików. Musisz znać cechy różnych klas sterowników, ich typów (sterowniki magistrali, filtry, sterowniki funkcjonalne) i podtypów (sterowniki ekranu, modemy, urządzenia sieciowe, porty równoległe i szeregowe, urządzenia pamięci masowej). Zwróć szczególną uwagę na zasady Packet-Driven I/O z Reusable IRPs, zarządzanie pamięcią, obsługę wyjątków i poprawne zastosowanie obiektów synchronizacji.
Krok 3
Jasno zdefiniuj funkcjonalność opracowywanego sterownika. Na tej podstawie określ, do jakiego typu i klasy należy.
Krok 4
Wybierz język programowania. Tradycyjnie sterowniki trybu jądra są implementowane w C. Sterowniki trybu użytkownika są zwykle tworzone w C++. Istnieje kilka wyjątków od tych zasad. Na przykład ministerowniki klienckie dla strumieni audio i wideo, sterowniki audio WDM dla miniportów trybu jądra, sterowniki WIA, a czasami sterowniki ekranu są napisane w C++.
Krok 5
Utwórz projekt, który implementuje skrót sterownika. Przeglądaj katalog DDK z przykładami. Znajdź odpowiedni projekt demonstracyjny sterownika. Jeśli nie możesz znaleźć odpowiedniego przykładu, samodzielnie utwórz pliki zawierające wymagany kod źródłowy i zbuduj pliki skryptów. Na przykład podczas opracowywania sterownika trybu jądra należy zaimplementować funkcję DriverEntry, która zawiera kod inicjujący, a także niektóre standardowe procedury (takie jak AddDevice, StartIo itp.).
Krok 6
Zaimplementuj funkcjonalność sterownika. Dodaj kod do funkcji utworzonych w poprzednim kroku. Dodaj logikę do obsługi żądań we/wy itp.