다음을 통해 공유


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를 참조하세요.