Bagikan melalui


C28169

peringatan C28169: Fungsi pengiriman tidak memiliki anotasi _Dispatch_type_

Alat Analisis Kode melaporkan peringatan ini ketika sisi kanan penugasan ke tabel MajorFunction tidak memiliki anotasi _Dispatch_type_ (valid). Peringatan terkadang dapat terjadi jika sisi kanan memiliki cast yang menghapus anotasi _Dispatch_type_. Sisi kanan harus berupa fungsi jenis DRIVER_DISPATCH dengan anotasi _Dispatch_type_ yang sesuai.

Untuk informasi selengkapnya, lihat Menggunakan Deklarasi Jenis Peran Fungsi.

Contoh

Deklarasi fungsi berikut memunculkan peringatan ini, jika fungsi digunakan dalam penetapan rutin pengiriman untuk MajorFunction.

NTSTATUS
DispatchSystemControl (
    PDEVICE_OBJECT  DeviceObject,
    PIRP            Irp
    );

Deklarasi fungsi berikut, yang digunakan dengan cara yang sama, tidak memunculkan peringatan ini.

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