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.
Aby umożliwić obsługę zmiany koligacji przerwań dla MSI-X lub usunięcia zasobów przerwania komunikatów, sterownik miniportu musi ustanowić funkcję filtru wymagań dotyczących zasobów. Ten krok wstępnej rejestracji występuje przed wywołaniem funkcji MiniportInitializeEx przez NDIS.
Aby ustanowić funkcję filtrowania wymagań dotyczących zasobów, sterownik miniportu musi udostępnić funkcję MiniportSetOptions. Gdy sterownik miniportu wywołuje funkcję NdisMRegisterMiniportDriver z procedury DriverEntry, sterownik przekazuje punkt wejścia dla MiniportSetOptions w strukturze NDIS_MINIPORT_DRIVER_CHARACTERISTICS. W kontekście funkcji NdisMRegisterMiniportDriver, NDIS wywołuje funkcję miniportu MiniportSetOptions.
Od MiniportSetOptions, sterownik miniportu wywołuje funkcję NdisSetOptionalHandlers i określa strukturę NDIS_MINIPORT_PNP_CHARACTERISTICS. Ta struktura definiuje punkty wejścia dla MiniportAddDevice, MiniportRemoveDevice, MiniportStartDevicei MiniportFilterResourceRequirequirements funkcji.
Gdy usługa NDIS odbiera żądanie dodawania urządzenia z menedżera Plug and Play (PnP), usługa NDIS wywołuje funkcję MiniportAddDevice sterownika miniportu. Dojście, które NDIS przekazuje jako parametr MiniportAdapterHandle do MiniportAddDevice, jest tym samym dojściem, które NDIS przekazuje później do funkcji MiniportInitializeEx.
W MiniportAddDevicesterownik inicjuje strukturę NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES i przekazuje tę strukturę do funkcji NdisMSetMiniportAttributes. Struktura NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES zawiera element członkowski MiniportAddDeviceContext, który jest uchwytem do obszaru kontekstowego przydzielonego przez sterownik miniportu dla urządzenia. NDIS później przekazuje ten uchwyt kontekstu funkcjom MiniportRemoveDevice, MiniportFilterResourceRequirements, MiniportStartDevicei MiniportInitializeEx. W przypadku MiniportInitializeExuchwyt kontekstu jest przekazywany w elemencie członkowskim MiniportAddDeviceContext struktury NDIS_MINIPORT_INIT_PARAMETERS, do której wskazuje parametr MiniportInitParameters.
Po tym, jak NDIS wywoła MiniportAddDevice i MiniportAddDevice zwróci NDIS_STATUS_SUCCESS, NDIS wywołuje funkcję MiniportFilterResourceRequirements za każdym razem, gdy otrzymuje pakiet żądania We/Wy IRP_MN_FILTER_RESOURCE_REQUIREMENTS (IRP). MiniportFilterResourceRequirements może zmienić przynależność przerwań dla każdego komunikatu MSI-X, dodać zasoby przerwania komunikatu lub usunąć zasoby przerwania komunikatu, jeśli sterownik zarejestruje przerwania oparte na liniach w funkcji MiniportInitializeEx. Aby uzyskać więcej informacji na temat ustanawiania zasad koligacji przerwań, zobacz MSI-X Filtrowanie zasobów.
Gdy NDIS odbiera żądanie usunięcia urządzenia od menedżera PnP, wywołuje funkcję MiniportRemoveDevice sterownika miniportu . Funkcja MiniportRemoveDevice powinna cofnąć operacje wykonywane przez funkcję MiniportAddDevice.