다음을 통해 공유


PnP Manager 재배포 시스템 리소스(UMDF 1)

경고

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를 사용하여 시작 참조하세요.

사용자가 시스템에 디바이스를 추가하고 디바이스에 PnP 관리자가 이미 다른 디바이스에 할당한 시스템 리소스가 필요한 경우 PnP 관리자는 리소스를 다시 할당하려고 시도합니다.

이 프로세스 중에 PnP 관리자는 디바이스를 중지하고 작동 중(D0) 상태에서 제거합니다. 그런 다음 새 리소스를 사용하여 다시 시작할 수 있도록 디바이스에 새 리소스 목록을 제공합니다.

리소스를 재배포할 때 PnP 관리자는 디바이스의 UMDF 기반 드라이버 중 하나가 IPnpCallback::OnQueryStop 콜백 함수를 제공하고 콜백 함수가 재할당을 거부한 경우 디바이스의 리소스 할당을 변경하지 않습니다.

전원 낮추기 시퀀스
중지되는 디바이스를 지원하는 각 UMDF 기반 함수 및 필터 드라이버에 대해 프레임워크는 드라이버 스택에서 가장 높은 드라이버부터 시작하여 한 번에 하나의 드라이버를 순서대로 수행합니다.

  1. 드라이버가 자체 관리형 I/O를 사용하는 경우 프레임워크는 드라이버의 IPnpCallbackSelfManagedIo::OnSelfManagedIoSuspend 콜백 함수를 호출합니다.

  2. 프레임워크는 디바이스의 전원 관리형 I/O 큐를 모두 중지합니다.

  3. 프레임워크는 드라이버의 IPnpCallback::OnD0Exit 콜백 함수를 호출합니다(있는 경우).

  4. 프레임워크는 PnP 관리자가 디바이스에 할당한 하드웨어 리소스 목록을 전달하는 드라이버의 IPnpCallbackHardware::OnReleaseHardware 콜백 함수(있는 경우)를 호출합니다.

이러한 단계를 보여 주는 다이어그램을 보려면 사용자가 디바이스를 분리하는 순서대로 제거 그림을 참조하세요.

전원 켜기 시퀀스
디바이스를 지원하는 각 UMDF 기반 함수 및 필터 드라이버에 대해 프레임워크는 드라이버 스택에서 가장 낮은 드라이버부터 시작하여 한 번에 하나의 드라이버를 순서대로 수행합니다.

  1. 프레임워크는 드라이버의 IPnpCallbackHardware::OnPrepareHardware 콜백 함수(있는 경우)를 호출하여 PnP 관리자가 디바이스에 할당한 하드웨어 리소스 목록을 전달합니다.

  2. 프레임워크는 드라이버의 IPnpCallback::OnD0Entry 콜백 함수(있는 경우)를 호출합니다.

  3. 프레임워크는 디바이스의 전원 관리형 I/O 큐를 모두 다시 시작합니다.

  4. 드라이버가 자체 관리형 I/O를 사용하는 경우 프레임워크는 드라이버의 IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart 콜백 함수를 호출합니다.

이러한 단계를 보여 주는 다이어그램을 보려면 디바이스의 사용자 플러그를 참조하세요.