PREFast를 사용하여 Windows7 용 일부 드라이버 코드 빌드를 확인하고 있습니다. 코드WDK7 : Prefast에서 IoAttachDeviceToDeviceStack을 사용하면 "메모리가 있어야 함"경고가 표시됨
stackDeviceObject = IoAttachDeviceToDeviceStack(deviceObject, PhysicalDeviceObject);
의 다음 행은 경고를 제공합니다 :
warning 28107: The Memory 'deviceObject' must be held when calling 'IoAttachDeviceToDeviceStack'.
deviceObject는 IoCreateDevice에 대한 이전 호출로 얻을 수있다. 누구든지이 경고의 의미와 그걸 제거하는 방법을 알고 있습니까?
PREfast 도움말에 "함수 호출시 함수를 호출하기 전에 프로그램에서 획득해야하는 리소스입니다. 결과적으로 함수 호출이 실패합니다."
도움말 페이지가 제공하는 예는 다음 가정으로 경고를 제거한다 KaEnterCriticalRegion 및 KaLeaveCriticalRegion, 호출 사이에 (이 경고를 준다) ExAcquireResourceLite 및 ExReleaseResourceLite 호출 한 쌍을 둘러싸고,하지만 난 방법을 모르는 이 정보를 IoAttachDeviceToDeviceStack에 대한 나의 호출에 적용하십시오.
모든 조언을 주시면 감사하겠습니다.