Udostępnij przez


Użytkownik podłącza urządzenie

W poniższym scenariuszu węzeł urządzenia zawiera sterownik magistrali KMDF i co najmniej jedną funkcję KMDF lub sterowniki filtrów, które obsługują urządzenie PnP.

Gdy użytkownik podłącza urządzenie do magistrali podczas działania systemu, sterownik magistrali urządzenia i struktura wykonują następujące zadania:

Aby uzyskać więcej informacji na temat sekwencji zasilania sterownika magistrali KMDF, zobacz Power-Up Sequence for a Bus Driver (SekwencjaPower-Up dla sterownika magistrali).

Następnie menedżer PnP ustala, jakie dodatkowe sterowniki (sterowniki funkcji i sterowniki filtrów) są wymagane przez urządzenie. Jeśli te sterowniki nie zostały jeszcze załadowane, menedżer PnP ładuje je i wywołuje procedury DriverEntry . Dla każdej funkcji lub sterownika filtru są wykonywane następujące akcje:

  • Struktura wywołuje funkcję zwrotną EvtDriverDeviceAdd każdego dodatkowego sterownika, aby sterownik mógł wywołać WdfDeviceCreate w celu utworzenia obiektu urządzenia struktury, który reprezentuje urządzenie dla sterownika. Sterowniki funkcji tworzą funkcjonalny obiekt urządzenia (FDO), a sterowniki filtrów tworzą obiekt urządzenia filtru (Filter DO).

  • Struktura wywołuje funkcję wywołania zwrotnego każdego sterownika i filtru EvtDeviceFilterRemoveResourceRequirements, a następnie funkcję wywołania zwrotnego każdego sterownika EvtDeviceFilterAddResourceRequirements. Bezpośrednio przed uruchomieniem urządzenia framework wywołuje funkcję zwrotną EvtDeviceRemoveAddedResources. Te trzy funkcje wywołania zwrotnego umożliwiają sterownikom filtrów i funkcji modyfikowanie listy zasobów sprzętowych, których wymaga urządzenie, zanim menedżer PnP przypisze zasoby do urządzenia. Aby uzyskać więcej informacji, zobacz Zasoby sprzętowe sterowników Framework-Based

  • Ramowa struktura zapewnia, że urządzenie osiągnęło stan zasilania roboczego (D0).

  • Dla każdej funkcji i sterownika filtru, który obsługuje urządzenie, struktura wykonuje następujące czynności w sekwencji jeden sterownik naraz, począwszy od sterownika, który jest najniższy w stosie sterowników:

    1. Struktura wywołuje funkcję zwrotną sterownika EvtDevicePrepareHardware (jeśli istnieje) i przekazuje listę zasobów sprzętowych, które menedżer PnP przypisał do urządzenia.
    2. Struktura wywołuje funkcję EvtDeviceD0Entry wywołania zwrotnego (jeśli istnieje).
    3. Struktura wywołuje funkcję wywołania zwrotnego EvtInterruptEnable (jeśli istnieje) dla każdego przerwania, a następnie wywołuje funkcję wywołania zwrotnego EvtDeviceD0EntryPostInterruptsEnabled (jeśli istnieje), aby sterownik mógł włączyć przerwania urządzenia.
    4. Jeśli sprzęt i sterownik obsługują DMA, struktura wywołuje EvtDmaEnablerFill, EvtDmaEnablerEnableoraz EvtDmaEnablerSelfManagedIoStart funkcje wywołań zwrotnych (jeśli istnieją) dla każdego utworzonego kanału DMA.
    5. Struktura wywołuje funkcję wywołania zwrotnego EvtChildListScanForChildren (jeśli istnieje).
    6. Framework uruchamia wszystkie kolejki we/wy zarządzane zasilaniem urządzenia.
    7. Jeśli sterownik korzysta z wejścia/wyjścia zarządzanego przez siebie, framework wywołuje funkcję zwrotną sterownika EvtDeviceSelfManagedIoInit.

Aby uzyskać więcej informacji na temat sekwencji zasilania dla funkcji KMDF lub sterowników filtrów, Power-Up Sequence for a Function or Filter Driver (Sekwencja funkcji lub sterownika filtru).