디바이스 추가
경고
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를 사용하여 시작 참조하세요.
프레임워크는 드라이버 호스트 프로세스에 로드된 각 디바이스에 대한 디바이스 개체를 추가합니다. 디바이스를 추가하기 위해 프레임워크는 드라이버의 IDriverEntry::OnDeviceAdd 메서드를 호출하고 호출에서 IWDFDriver 및 IWDFDeviceInitialize 인터페이스를 전달합니다. 제공된 IWDFDeviceInitialize 인터페이스는 드라이버가 IWDFDriver::CreateDevice를 호출하기 전에만 유효합니다. 드라이버는 다음 IWDFDeviceInitialize 메서드를 호출하여 다음 작업을 수행할 수 있습니다.
드라이버는 IWDFDeviceInitialize::RetrieveDevicePropertyStore 메서드를 호출하여 디바이스 속성 저장소에 대한 IWDFNamedPropertyStore 인터페이스를 검색합니다. 드라이버는 IWDFNamedPropertyStore 를 사용하여 디바이스의 속성을 검색하고 설정할 수 있습니다.
드라이버는 IWDFDeviceInitialize::SetLockingConstraint 메서드를 호출하여 프레임워크에서 콜백 함수를 호출하는 방법을 지정합니다.
드라이버는 IWDFDeviceInitialize::SetFilter 메서드를 호출하여 디바이스를 필터 디바이스로 사용하도록 설정합니다.
드라이버가 IWDFDeviceInitialize를 사용하여 디바이스를 초기화한 후 드라이버는 IWDFDriver::CreateDevice 메서드를 호출하여 IWDFDeviceInitialize에 대한 포인터를 전달하여 디바이스에 대한 UMDF 디바이스 개체를 만듭니다. 프레임워크 디바이스 개체를 만든 후 드라이버는 IWDFDevice::CreateIoQueue 메서드를 호출하여 읽기 및 쓰기 I/O 큐를 만듭니다. 이러한 IWDFDevice::CreateIoQueue 호출에서 드라이버는 I/O 큐에서 요청을 받는 방법을 식별해야 합니다. 자세한 내용은 I/O 큐에 대한 디스패치 모드 구성을 참조하세요.