Udostępnij przez


Standardowe wymagania dla standardowych procedur sterownika

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.