Udostępnij przez


Inicjowanie adaptera Miniport

Gdy urządzenie sieciowe stanie się dostępne, system ładuje wymagany sterownik miniportu NDIS, jeśli nie został jeszcze załadowany. Następnie menedżer Plug and Play (PnP) wysyła NDIS plug and Play IRP, aby uruchomić urządzenie. NDIS wywołuje funkcję MiniportInitializeEx sterownika miniportu w celu zainicjowania karty dla operacji we/wy sieci. NDIS może wywołać MiniportInitializeEx w każdym momencie po zainicjowaniu sterownika. Aby uzyskać więcej informacji na temat inicjowania sterowników miniportu, zobacz Inicjowanie sterownika miniportu.

Dopóki MiniportInitializeEx nie zwróci, usługa NDIS nie przesyła żadnych żądań dotyczących inicjowanego adaptera. Adapter jest w stanie Inicjowanie.

Sterownik miniportu zwykle wykonuje następujące zadania w MiniportInitializeEx:

  1. Uzyskuje informacje o konfiguracji adaptera.

  2. Uzyskuje informacje o zasobach sprzętowych dla adaptera sieciowego.

  3. Wywołuje NdisMSetMiniportAttributes i udostępnia następujące atrybuty skojarzone z adapterem:

    • Wskaźnik do obszaru kontekstu przydzielonego przez sterownik.
    • Odpowiednie flagi atrybutów.
    • Interwał limitu czasu wywoływania funkcji MiniportCheckForHangEx.
    • Typ interfejsu.
  4. Inicjuje zasoby specyficzne dla adaptera.

Sterownik miniportu określa atrybuty karty w strukturze NDIS_MINIPORT_ADAPTER_ATTRIBUTES, która MiniportInitializeEx przekazywana jest do NdisMSetMiniportAttributes.

Zazwyczaj MiniportInitializeEx przydziela zasoby specyficzne dla adaptera w następującej kolejności:

  1. Pamięć puli niestronicowanej.

  2. NET_BUFFER i NET_BUFFER_LIST pule (zobacz Operacje wysyłania i odbierania sterowników miniportu).

  3. Spin blokady.

  4. Czasomierzy.

  5. Porty wejścia/wyjścia

  6. DMA (zobacz Scatter/Gather DMA).

  7. Pamięć współdzielona.

  8. Przerwania (zobacz Zarządzanie przerwaniami).

Po pomyślnym zakończeniu działania funkcji MiniportInitializeEx, adapter jest w stanie wstrzymania. Usługa NDIS może wywołać funkcję MiniportRestart, aby przenieść kartę do stanu Uruchomiono. Aby uzyskać więcej informacji, zobacz Uruchamianie adaptera miniportu.

Jeśli MiniportInitializeEx zwróci NDIS_STATUS_SUCCESS, sterownik powinien zwolnić wszystkie zasoby karty w funkcji MiniportHaltEx. Aby uzyskać więcej informacji, zobacz Halting a Miniport Adapter.

Sterownik musi wywołać NdisMSetMiniportAttributes i ustawić GeneralAttributes w strukturze NDIS_MINIPORT_ADAPTER_ATTRIBUTES, jeśli zwraca NDIS_STATUS_SUCCESS.

Jeśli MiniportInitializeEx nie powiodło się, MiniportInitializeEx musi zwolnić wszystkie zasoby przydzielone przed zwróceniem, a karta powróci do stanu Zatrzymano.

Zatrzymanie Adaptera Miniport

stany i operacje adaptera miniportowego

Operacje wysyłania i odbioru sterownika miniportu

punktowe/zbieranie DMA

uruchamianie miniport adaptera