C28169

警告 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;