다음을 통해 공유


C28173

경고 C28173: 현재 함수가 4GB를 초과하는 실제 메모리에 잘못 적응하는 것처럼 보입니다.

추가 정보

코드는 적은 수의 맵 레지스터를 반환하는 IoGetDmaAdapter 호출에서 복구되지 않는 것처럼 보입니다. 자세한 내용은 (영문) 설명서를 참조하세요.

메모리가 4GB를 초과하는 시스템에서 IoGetDmaAdapter 함수는 요청된 것보다 적은 수의 맵 레지스터를 반환할 수 있습니다. 요청된 값이 커지면 이 가능성이 높아집니다(64에 근접). 4GB를 초과하는 실제 메모리를 4GB 미만의 공간에 매핑해야 하기 때문입니다.

이 경고 메시지는 코드가 요청된 것보다 적은 수의 레지스터를 가져오는 데 적응하지 않을 때 나타납니다. 함수가 IoGetDmaAdapter를 호출하면 코드 분석 도구는 IoGetDmaAdapter 함수가 요청된 것보다 적은 수의 레지스터를 반환하도록 시뮬레이션합니다. 호출 함수는 이 조건을 처리하고 성공적으로 반환해야 합니다.

드라이버가 4GB를 초과하는 시스템에서 장애 조치(fail)할 수 있는 다른 방법이 있습니다. 이러한 가능한 오류 모드에 대한 코드를 검사해야 합니다. 4GB 메모리 문제 및 맵 레지스터에 대한 자세한 내용은 NdisMAllocateMapRegisters를 참조하세요.