C28169

advertencia C28169: la función dispatch no tiene ninguna anotación _Dispatch_type_

La herramienta Análisis de código notifica esta advertencia cuando el lado derecho de una asignación a la tabla MajorFunction no tiene (válido) anotaciones _Dispatch_type_ . A veces, la advertencia puede producirse si el lado derecho tiene una conversión que quita la anotación _Dispatch_type_ . El lado derecho debe ser una función de tipo DRIVER_DISPATCH tipo con las anotaciones _Dispatch_type_ adecuadas.

Para obtener más información, vea Using Function Role Type Declarations.

Ejemplo

La siguiente declaración de función provoca esta advertencia, si la función se usa en una asignación de rutina de distribución para majorFunction.

NTSTATUS
DispatchSystemControl (
    PDEVICE_OBJECT  DeviceObject,
    PIRP            Irp
    );

La siguiente declaración de función, que se usa de la misma manera, no elimina esta advertencia.

// 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;