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 zwiększyć wydajność systemu, niektóre funkcje NDIS (na przykład funkcja MiniportSendNetBufferLists ) zawierają flagę poziomu wysyłania, która wskazuje bieżący protokół IRQL. Prawidłowe użycie flagi poziomu wysyłania może pomóc uniknąć niepotrzebnych prób ustawienia IRQL.
Istnieją inne flagi kontrolujące inne atrybuty, ale nazwy flag na poziomie wysyłki to:
NDIS_SEND_FLAGS_DISPATCH_LEVEL
NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL
NDIS_RECEIVE_FLAGS_DISPATCH_LEVEL
NDIS_RETURN_FLAGS_DISPATCH_LEVEL
NDIS_RWL_AT_DISPATCH_LEVEL
Obiekt wywołujący musi określić ustawienie flagi poziomu wysyłania ze znanego bieżącego środowiska IRQL, a nie przez przetestowanie środowiska IRQL. Na przykład znasz środowisko IRQL, ponieważ jest to stała cecha projektu sterownika lub sterownik zapisał bieżący plik IRQL.
Jeśli znany bieżący poziom IRQL jest DISPATCH_LEVEL, wywołujący powinien ustawić tę flagę. Jeśli bieżący IRQL jest nieznany lub wywołujący nie działa na poziomie DISPATCH_LEVEL, wywołujący powinien wyczyścić tę flagę. Jeśli obiekt wywołujący jest NDIS, wywołana funkcja powinna przetestować tę flagę, aby uniknąć zmiany środowiska IRQL.
Sterowniki nie powinny testować środowiska IRQL w celu określenia wartości flagi poziomu wysyłki. Testowanie niweczyłoby cel flagi. W razie potrzeby wywołana funkcja może po prostu wykonać testy. Jak sterownik określa, czy powinien ustawiać flagę, czy nie, zależy od projektu konkretnego sterownika.