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.
ostrzeżenie C28167: Funkcja zmienia środowisko IRQL i nie przywraca środowiska IRQL przed jego zamknięciem. Powinna zostać oznaczona adnotacją, aby odzwierciedlić zmianę lub należy przywrócić środowisko IRQL.
To ostrzeżenie wskazuje, że spełnione są następujące warunki:
Funkcja zmienia środowisko IRQL, w którym jest uruchomiony sterownik.
Istnieje co najmniej jedna ścieżka przez funkcję, która nie, po wyjściu funkcji, przywrócić irQL do oryginalnego irQL, że sterownik był uruchomiony przy wpisie funkcji.
To ostrzeżenie występuje, gdy wymagana jest adnotacja IRQL dla funkcji, ale nie istnieje.
Aby uniknąć tego ostrzeżenia, sterownik musi poprawnie zapisać początkową wartość IRQL i przywrócić tę samą wartość IRQL podczas zamykania funkcji, jeśli nie zamierza zmienić irQL.
Funkcje, które celowo zmieniają środowisko IRQL na wartość inną niż IRQL, w której sterownik był uruchomiony we wpisie funkcji, powinny być oznaczone adnotacjami, aby wskazać to zachowanie. Można na przykład użyć adnotacji _IRQL_raises_(irql), aby wskazać, że funkcja zmienia środowisko IRQL z środowiska IRQL, w którym wywoływano funkcję. Można również zapisać i przywrócić wartość IRQL i zastosować odpowiednie adnotacje (_IRQL_saves_, _IRQL_restores_). Adnotacja spowoduje pominięcie tego ostrzeżenia. Aby uzyskać więcej informacji, zobacz adnotacje IRQL dla sterowników. Należy naprawić funkcje, które zmieniają środowisko IRQL przez pomyłkę.