Udostępnij przez


C28101

ostrzeżenie C28101: Moduł Sterowniki wywnioskował, że bieżąca funkcja nie jest poprawnym typem funkcji

Narzędzie analiza kodu wykryło, że funkcja jest określoną funkcją, taką jak funkcja wywołania zwrotnego. Jest to tylko komunikat informacyjny. Nie wskazuje on błędu.

Ten komunikat wskazuje, że narzędzie do analizy kodu stosuje reguły specyficzne dla tego typu funkcji. Jeśli to wnioskowanie jest nieprawidłowe, narzędzie analiza kodu wygeneruje ostrzeżenia fałszywie dodatnie, ale te ostrzeżenia można bezpiecznie zignorować. Aby uzyskać więcej informacji, zobacz Using Annotations to Reduce C/C++ Code Defects (Używanie adnotacji w celu zmniejszenia liczby wad kodu C/C++).

Sygnatura funkcji (argumenty i typ wyniku) są używane do identyfikowania funkcji zawsze, gdy jest to możliwe. Niektóre standardowe procedury sterowników, takie jak Anuluj i StartIo, mają ten sam podpis, dlatego nazwa jest sprawdzana, czy pasuje do konwencjonalnej nazwy tej funkcji. Inne funkcje mogą być sprawdzane pod kątem konwencjonalnych nazw.

Aby pominąć to ostrzeżenie, gdy jest ono nadmiarowe, można jawnie zadeklarować, że funkcja ma być określoną typem funkcji. Funkcje, które są wykrywane w ten sposób, są zwykle funkcjami wywołania zwrotnego. Właściwą akcją jest zadeklarowanie ich przy użyciu definicji typu funkcji. Aby uzyskać więcej informacji, zobacz Using Function Role Type Deklaracje.