Compartilhar via


C28169

aviso C28169: a função de expedição não tem nenhuma _Dispatch_type_ anotações

A ferramenta Análise de Código relata esse aviso quando o lado direito de uma atribuição para a 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 tira a _Dispatch_type_ anotação. 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.

Exemplo

A declaração de função a seguir gera esse aviso, se a função for usada em uma atribuição de rotina de expedição para uma 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;