警告 C28169: ディスパッチ関数に _Dispatch_type_ 注釈がありません
コード分析ツールは、MajorFunction テーブルへの割り当ての右側に(有効な) _Dispatch_type_ 注釈がない場合に、この警告を報告します。 右側に _Dispatch_type_ 注釈を取り除くキャストがある場合、警告が発生することがあります。 右側は、適切な _Dispatch_type_ 注釈を持つ型DRIVER_DISPATCH型の関数である必要があります。
詳細については、「関数ロール型宣言を使用する」を参照してください。
の例
次の関数宣言は、MajorFunctionのディスパッチ ルーチンの割り当てで関数が使用されている場合、この警告を引き出します。
NTSTATUS
DispatchSystemControl (
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
同じ方法で使用される次の関数宣言では、この警告は引き起こされません。
// Function: DispatchSystemControl
// This is an example of a fully annotated declaration.
// IRP_MJ_SYSTEM_CONTROL is the type of IRP handled by this function.
// Multiple _Dispatch_type_ lines are acceptable if the function handles more than 1 IRP type.
//
_Dispatch_type_(IRP_MJ_SYSTEM_CONTROL)
DRIVER_DISPATCH DispatchSystemControl;