C28169
предупреждение C28169: функция dispatch не имеет заметок _Dispatch_type_
Средство анализа кода выводит это предупреждение, если в правой части назначения таблицы MajorFunction нет (допустимых) _Dispatch_type_ заметок. Иногда предупреждение может возникать, если на правой стороне есть приведение, которое удаляет заметку _Dispatch_type_ . Справа должна быть функция типа DRIVER_DISPATCH типа с соответствующими заметками _Dispatch_type_ .
Дополнительные сведения см. в разделе Использование объявлений типов ролей функции.
Пример
Следующее объявление функции выдает это предупреждение, если функция используется в назначении подпрограммы диспетчеризации для 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;