Partilhar via


C28169

aviso C28169: A função de despacho não tem anotações _Dispatch_type_

A ferramenta Análise de Código relata esse aviso quando o lado direito de uma atribuição à tabela MajorFunction não tem anotações de _Dispatch_type_ (válidas). Por vezes, o aviso pode ocorrer se o lado direito tiver um molde que retire a anotação _Dispatch_type_. O lado direito deve ser uma função do tipo DRIVER_DISPATCH tipo com as anotações _Dispatch_type_ adequadas.

Para obter mais informações, consulte Usando declarações de tipo de função.

Exemplo

A declaração de função a seguir provoca esse aviso, se a função for usada em uma atribuição de rotina de despacho para um MajorFunction.

NTSTATUS
DispatchSystemControl (
    PDEVICE_OBJECT  DeviceObject,
    PIRP            Irp
    );

A seguinte declaração de função, usada da mesma maneira, não provoca esse aviso.

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