원시 및 번역된 리소스

드라이버의 EvtDeviceRemoveAddedResources 또는 EvtDevicePrepareHardware 콜백 함수가 리소스 목록을 받으면 두 가지 버전의 목록을 받습니다. 한 버전은 디바이스의 원시 리소스를 나타내고 다른 버전은 디바이스의 번역된 리소스를 나타냅니다. 두 버전 모두 동일한 순서로 동일한 하드웨어 리소스 집합을 나타냅니다.

  • 원시 리소스는 디바이스가 연결된 버스에 상대적인 주소로 식별되는 리소스입니다. 일반적으로 디바이스를 프로그래밍하는 드라이버는 이러한 주소를 디바이스에 제공합니다.

  • 변환된 리소스는 드라이버가 리소스에 액세스하는 데 사용하는 시스템 실제 주소로 식별되는 리소스입니다.

PCI 버스 디바이스의 드라이버는 디바이스의 BAR(기본 주소 레지스터 )에 표시되는 순서대로 나열된 리소스를 받습니다. 그러나 BAR의 인덱스 X 에 있는 리소스가 리소스 목록의 동일한 인덱스 위치에 있는 리소스와 일치하지 않을 수 있도록 추가 리소스 설명자가 목록에 인터리브될 수 있습니다.

원시 및 번역된 리소스에 대한 자세한 내용은 CM_PARTIAL_RESOURCE_DESCRIPTOR 구조체에 대한 멤버 설명을 참조하세요.

디바이스의 번역된 리소스 목록에 CM_PARTIAL_RESOURCE_DESCRIPTOR 구조의 Type 멤버가 CmResourceTypeMemory로 설정된 리소스가 포함된 경우 해당 리소스에 액세스하는 모든 드라이버는 다음을 수행해야 합니다.

버스 상대 주소 매핑에 대한 자세한 내용은 가상 주소에 Bus-Relative 주소 매핑을 참조하세요.