C28169
경고 C28169: 디스패치 함수에 _Dispatch_type_ 주석이 없습니다.
코드 분석 도구는 MajorFunction 테이블에 대한 할당의 오른쪽에 (유효한) _Dispatch_type_ 주석이 없을 때 이 경고를 보고합니다. 오른쪽에 _Dispatch_type_ 주석을 제거하는 캐스트가 있는 경우 경고가 발생할 수 있습니다. 오른쪽 은 적절한 _Dispatch_type_ 주석이 있는 형식 DRIVER_DISPATCH 형식의 함수여야 합니다.
자세한 내용은 함수 역할 형식 선언 사용을 참조하세요.
예제
다음 함수 선언은 함수가 MajorFunction에 대한 디스패치 루틴 할당에 사용되는 경우 이 경고를 유도합니다.
NTSTATUS
DispatchSystemControl (
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
동일한 방식으로 사용되는 다음 함수 선언은 이 경고를 유도하지 않습니다.
// 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;