Freigeben über


C28169

Warnung C28169: Die Dispatchfunktion verfügt nicht über _Dispatch_type_ Anmerkungen

Das Codeanalysetool meldet diese Warnung, wenn die rechte Seite einer Zuweisung zur Tabelle MajorFunction keine (gültigen) _Dispatch_type_ Anmerkungen enthält. Die Warnung kann manchmal auftreten, wenn die rechte Seite über eine Umwandlung verfügt, die die _Dispatch_type_ Anmerkung entfernt. Die rechte Seite sollte eine Funktion vom Typ DRIVER_DISPATCH Typ mit den entsprechenden _Dispatch_type_ Anmerkungen sein.

Weitere Informationen finden Sie unter Verwenden von Funktionsrollentypdeklarationen.

Beispiel

Die folgende Funktionsdeklaration löst diese Warnung aus, wenn die Funktion in einer Dispatchroutinezuweisung für eine MajorFunction verwendet wird.

NTSTATUS
DispatchSystemControl (
    PDEVICE_OBJECT  DeviceObject,
    PIRP            Irp
    );

Die folgende Funktionsdeklaration, die auf die gleiche Weise verwendet wird, löst diese Warnung nicht aus.

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