C28101

警告 C28101: ドライバーモジュールは、現在の関数が正しいタイプの関数ではないと推論しました。

コード分析ツールは、関数がコールバック関数などの特定の種類であることを検出しました。 このメッセージは情報提供だけを目的としています。 エラーを示すものではありません。

このメッセージは、コード分析ツールがその関数タイプに固有のルールを適用していることを示します。 この推論が間違っている場合、コード分析ツールは誤検知の警告を生成しますが、これらの警告は無視しても安全です。 詳細については、注釈を使用して C/C++ コードの欠陥を減らすを参照。

関数の署名(引数と結果の型) は、可能な限り関数を識別するために使用されます。 CancelStartIoなどの一部の標準ドライバー ルーチンは同じシグネチャを持つため、名前がその関数の従来の名前と一致するかどうかがチェックされます。 他の関数では、従来の名前がチェックされる場合があります。

冗長な場合にこの警告を抑制するには、関数を特定の関数タイプであるように明示的に宣言できます。 この方法で検出される関数は通常、コールバック関数です。 適切なアクションは、関数 typedef を使用して宣言することです。 詳細については、関数の役割タイプ宣言の使用を参照。