Compartilhar via


C28169

aviso C28169: a função de expedição 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). Às vezes, o aviso pode ocorrer se o lado direito tiver uma conversão que remova a anotação _Dispatch_type_. O lado direito deve ser uma função do tipo DRIVER_DISPATCH tipo com as anotações de _Dispatch_type_ apropriadas.

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

Exemplo de

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

NTSTATUS
DispatchSystemControl (
    PDEVICE_OBJECT  DeviceObject,
    PIRP            Irp
    );

A declaração de função a seguir, usada da mesma forma, não gera 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;