Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas projektowania sterownika trybu jądra należy pamiętać o następujących kwestiach:
Każdy sterownik musi mieć procedurę DriverEntry , która inicjuje struktury danych i zasoby dla całego sterownika. Menadżer I/O wywołuje procedurę DriverEntry, gdy ładuje sterownik.
Każdy sterownik musi mieć co najmniej jedną procedurę wysyłania, która odbiera i przetwarza pakiety żądań we/wy (IRP). Każdy sterownik musi umieścić punkt wejścia procedury wysyłki w strukturze DRIVER_OBJECT dla każdego kodu funkcji głównej IRP , który może otrzymać sterownik. Sterownik może mieć oddzielną procedurę wysyłania dla każdego kodu funkcji głównej protokołu IRP lub może mieć co najmniej jedną procedurę wysyłania, która obsługuje kilka kodów funkcji.
Każdy sterownik WDM musi mieć procedurę Unload. Kierowca musi umieścić punkt wejścia procedury zwalniania w obiekcie sterownika sterownika. Obowiązki procedury zwalniania kierowcy PnP są minimalne, ale procedura zwolnienia kierowcy innego niż PnP jest odpowiedzialna za zwolnienie wszelkich zasobów systemowych, z których korzysta kierowca.
Każdy sterownik WDM musi mieć procedurę AddDevice i zdefiniować punkt wejścia w rozszerzeniu sterownika obiektu sterownika. Procedura AddDevice jest odpowiedzialna za tworzenie i inicjowanie obiektów urządzeń dla każdego urządzenia PnP, które kontroluje sterownik.
Sterownik może mieć procedurę StartIo, którą menedżer I/O wywołuje w celu uruchomienia operacji I/O dla IRP-ów, które sterownik umieścił w kolejce IRP dostarczanej przez system. Sterownik, który nie ma zdefiniowanej procedury StartIo, musi skonfigurować i zarządzać wewnętrznymi kolejkami dla odbieranych IRP lub ukończyć każde IRP w ramach swoich procedur obsługi zdarzeń. Kierowcy wyższego poziomu mogą nie mieć procedury StartIo, jeśli po prostu przekazują IRP-y do sterowników niższego poziomu bezpośrednio z ich procedur dispatch.
Niektóre sterowniki miniportu są wyjątkami od powyższych wymagań. Aby uzyskać informacje na temat wymagań dotyczących sterowników miniportu, zapoznaj się z dokumentacją specyficzną dla urządzenia w zestawie Sterowników windows (WDK).
To, czy sterownik ma jakikolwiek inny rodzaj standardowej procedury, zależy od jego funkcjonalności i sposobu, w jaki ten sterownik pasuje do systemu (na przykład, czy współdziała z sterownikami dostarczonymi przez system). Aby uzyskać szczegółowe informacje, zobacz dokumentację specyficzną dla typu urządzenia w zestawie WDK.