WDK에서 PHYSICAL_ADDRESS 구조를 이해하는 데 문제가 있습니다. 나는 그것이 실제 기억의 실제 물리적 주소라고 생각했다. 지금 나는 이것을 시도했다 - 나는 512 MB RAM을 가진 가상 PC를 가지고 있고 나의 운전사에 코드를 붙인다.실제로 WDK 드라이버의 PHYSICAL_ADDRESS 값을 의미합니까?
PHYSICAL_ADDRESS pa;
pa.QuadPart = 9223372036854775805; //max LONGLONG - 1
mr = MmMapIoSpace(pa , 100, 0);
DbgPrint("%i ", MmGetPhysicalAddress(mr));
... 그리고 그것은 문제없이 일했다. 512MB RAM으로 어떻게 가능합니까? 최대 실제 주소는 512MB = cca 512 000 000입니까? 실제로 PHYSICAL_ADDRESS 값을 의미하는 것은 무엇입니까?
추신 : 왜 내가이 일을하고 있는지 묻지 마십시오. 나는 이것이 어떻게 가능한지 궁금하다.