다음을 통해 공유


열거형 요청 처리

PnP 관리자는 언제든지 버스 드라이버에 자식을 열거하도록 요청할 수 있습니다. (WDM 인터페이스에 익숙한 경우 열거형 요청은 관계 형식의 BusRelations를 사용하는 IRP_MN_QUERY_DEVICE_RELATIONS 요청입니다.) 프레임워크 기반 드라이버에는 이러한 요청이 표시되지 않습니다. 대신 프레임워크는 디바이스의 자식 목록에 저장된 정보를 사용하여 요청을 처리합니다. 드라이버는 PnP 관리자가 열거형을 요청할 때 프레임워크가 올바른 정보를 제공할 수 있도록 자식 목록을 최신 상태로 유지해야 합니다.

동적 열거형을 지원하는 프레임워크 기반 버스 드라이버는 특정 자식 디바이스를 다시 열거하라는 요청을 받을 수 있습니다. 드라이버가 디바이스 오류를 감지한 후 자식 디바이스의 함수 드라이버에서 이러한 요청을 보낼 수 있습니다. (프레임워크는 wdm.h정의된 표준 드라이버 정의 인터페이스REENUMERATE_SELF_INTERFACE_STANDARD 인터페이스를 구현하여 이러한 유형의 요청을 지원합니다.)

동적 열거형을 지원하는 프레임워크 기반 버스 드라이버는 EvtChildListDeviceReenumerated 콜백 함수를 제공할 수 있으며, 프레임워크는 자식 디바이스의 드라이버에서 다시 열거 요청을 받을 때 호출합니다. 이 콜백 함수가 TRUE 를 반환하거나 존재하지 않는 경우 프레임워크는 자식 디바이스를 더 이상 존재하지 않는 것으로 표시하고 PnP 관리자에게 버스 드라이버의 자식 목록이 변경되었음을 알릴 수 있습니다. 결과적으로 PnP 관리자는 다시 활성화를 요청하고 프레임워크는 드라이버의 EvtChildListCreateDevice 콜백 함수를 호출하여 자식 디바이스에 대한 새 PDO를 만듭니다.