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.
Ten temat zawiera ogólne omówienie obiektów struktury, których będziesz używać do tworzenia sterownika Kernel-Mode Driver Framework (KMDF). Z wyjątkiem przypadków, w których zaznaczono, użyjesz tych samych obiektów do tworzenia sterownika User-Mode Driver Framework (UMDF) począwszy od UMDF wersji 2.
Sterowniki Windows Driver Frameworks (WDF) składają się z rutyny DriverEntry i zestawu funkcji wywoływanych w odpowiedzi na zdarzenia, określonych przez obiekty Windows Driver Framework, które są używane przez sterowniki oparte na tej strukturze. Funkcje wywołania zwrotnego wywołują metody obiektów eksportowane przez framework. Zestaw Sterowników systemu Windows (WDK) zawiera przykładowe sterowniki WDF, które pokazują, jak zaimplementować funkcje wywołania zwrotnego zdarzeń sterownika. Te przykłady można pobrać z Centrum deweloperów systemu Windows — sprzęt. Aby uzyskać informacje o dostępnych przykładach, zobacz Przykładowe sterowniki KMDF i przykładowe sterowniki UMDF.
Podczas tworzenia sterownika WDF zazwyczaj wykonuje się następujące czynności:
Użyj obiektu sterownika frameworku do reprezentowania sterownika.
Procedura DriverEntry sterownika musi wywołać metodę WdfDriverCreate, aby utworzyć obiekt sterownika frameworku reprezentujący sterownik. Metoda WdfDriverCreate rejestruje również funkcję wywołania zwrotnego sterownika EvtDriverDeviceAdd, która jest wywoływana za każdym razem, gdy menedżer Plug and Play (PnP) zgłasza istnienie urządzenia obsługiwanego przez sterownik.
Używanie obiektów urządzeń platformowych do obsługi zarządzania pnp i zasilania w sterowniku.
Wszystkie sterowniki muszą wywołać metodę WdfDeviceCreate , aby utworzyć obiekt urządzenia struktury dla każdego urządzenia obsługiwanego przez sterownik. Urządzenie może być sprzętem podłączonym do komputera lub może być urządzeniem tylko do oprogramowania. Obiekty urządzeń ramowych obsługują operacje PnP i zarządzania energią, a sterowniki mogą rejestrować funkcje wywołania zwrotnego zdarzeń, które powiadamiają sterownik, gdy urządzenie wchodzi lub opuszcza stan roboczy.
Aby uzyskać więcej informacji na temat obiektów urządzeń platformowych, zobacz Obsługa pnP i zarządzania energią w sterowniku.
Użyj obiektów kolejki platformy i obiektów żądań platformy , aby obsługiwać operacje we/wy w sterowniku.
Wszystkie sterowniki, które otrzymują żądania odczytu, zapisu lub sterowania we/wy urządzenia z aplikacji lub innych sterowników, muszą wywołać funkcję WdfIoQueueCreate, aby utworzyć obiekty kolejki platformy reprezentujące kolejki we/wy. Zazwyczaj sterowniki rejestrują co najmniej jedną procedurę obsługi żądań dla każdej kolejki we/wy. Gdy menedżer we/wy wysyła żądanie we/wy do sterownika, struktura tworzy obiekt żądania dla tego żądania, umieszcza go w kolejce we/wy i wywołuje jedną z procedur obsługi żądania sterownika, aby poinformować sterownik, że żądanie jest dostępne. Sterownik uzyskuje żądanie we/wy i może ponownie kolejkować, ukończyć, anulować lub przekazać żądanie dalej.
Aby uzyskać więcej informacji na temat używania obiektów kolejki platformy i obiektów żądań platformy, zobacz Obiekty kolejki platformy i Obiekty żądań platformy.
Użyj obiektów przerwań frameworka do obsługi przerwań urządzenia.
Sterowniki obsługujące przerwania urządzenia muszą wywołać WdfInterruptCreate, aby utworzyć obiekt przerwania frameworku dla każdego przerwania i zarejestrować funkcje wywołania zwrotnego. Te funkcje zwrotne włączają i wyłączają przerwanie, oraz służą jako rutyna obsługi przerwań (ISR) i wywołanie procedury odroczonej (DPC) dla tego przerwania.
Aby uzyskać więcej informacji na temat obiektów przerwań frameworku, zobacz Obsługa przerwań sprzętowych.
Sterowniki KMDF mogą używać obiektów włączania DMA platformy i obiektów transakcji DMA do obsługi operacji bezpośredniego dostępu do pamięci (DMA) urządzenia.
Jeśli urządzenie sterownika KMDF obsługuje operacje DMA, sterownik powinien wywołać polecenie WdfDmaEnablerCreate w celu utworzenia obiektu włączania DMA i WdfDmaTransactionUtwórz , aby utworzyć co najmniej jeden obiekt transakcji DMA. Obiekt transakcji DMA definiuje funkcję wywołania zwrotnego EvtProgramDma, która programuje sprzęt urządzenia do wykonywania operacji DMA.
Aby uzyskać więcej informacji na temat obsługi operacji DMA, zobacz Obsługa operacji DMA w sterownikach opartych na strukturze.
Użyj obiektu docelowego I/O do wysyłania żądań I/O do innych sterowników.
Aby przekazać żądania I/O do innych sterowników (zazwyczaj następnego sterownika poziomu niższego w stosie sterowników), sterownik wysyła żądanie do obiektu docelowego I/O.
Aby uzyskać więcej informacji na temat obiektów docelowych we/wy, zobacz Używanie obiektów docelowych we/wy.
Sterownik KMDF może używać obiektów dostawcy WMI platformy i obiektów wystąpień usługi WMI do obsługi funkcji instrumentacji zarządzania Windows (WMI).
Większość sterowników KMDF powinna obsługiwać usługę WMI i powinna wywołać funkcję WdfWmiInstanceUtwórz, aby zarejestrować funkcje wywołania zwrotnego, które wysyłają lub odbierają dane usługi WMI.
Aby uzyskać więcej informacji na temat usługi WMI, zobacz Obsługa usługi WMI w sterownikach opartych na strukturze.
Korzystanie z możliwości synchronizacji platformy.
Wszystkie sterowniki muszą mieć świadomość problemów z synchronizacją wieloprocesorową i powinny korzystać z technik synchronizacji zapewnianych przez platformę.
Użyj dodatkowych obiektów i funkcji oferowanych przez platformę.
Struktura udostępnia dodatkowe obiekty, których może używać sterownik. Aby uzyskać więcej informacji na temat tych obiektów, zobacz WDF Support Objects (Obiekty obsługi usług WDF).