UMDF 1.x 드라이버에서 하드웨어 리소스 찾기 및 매핑

경고

UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다.

보관된 UMDF 1 샘플은 Windows 11 버전 22H2 - 2022년 5월 드라이버 샘플 업데이트에서 찾을 수 있습니다.

자세한 내용은 UMDF를 사용하여 시작 참조하세요.

UMDF 버전 2.0 이상을 사용하는 경우 하드웨어 리소스 찾기 및 매핑을 참조하세요.

UMDF 1.x 드라이버는 IPnpCallbackHardware2::OnPrepareHardware 콜백 메서드에서 하드웨어 리소스를 받습니다. 드라이버는 IWDFCmResourceList 인터페이스를 사용하여 변환된 리소스 목록을 검토하고 메모리 매핑 레지스터, I/O 포트 및 인터럽트 식별합니다.

드라이버는 IWDFCmResourceList::GetCountIWDFCmResourceList::GetDescriptor를 호출하여 리소스 목록을 반복합니다.

드라이버가 메모리 매핑 레지스터를 수신하는 경우 드라이버는 IWDFDevice3::MapIoSpace 를 호출하여 레지스터에 액세스하기 전에 레지스터를 매핑해야 합니다. 일반적으로 드라이버는 해당 레지스터를 IPnpCallbackHardware2::OnPrepareHardware 메서드에 매핑합니다. 드라이버는 IWDFDevice3::UnmapIoSpace를 호출하여 IPnpCallbackHardware2::OnReleaseHardware 콜백에서 레지스터의 매핑을 해제합니다. I/O 포트에는 매핑이 필요하지 않습니다.

드라이버가 메모리 매핑 레지스터 리소스를 찾고 매핑하는 방법을 보여 주는 예제는 IWDFDevice3::MapIoSpace를 참조하세요.