다음을 통해 공유


PnP 드라이버 디자인 지침

플러그 앤 플레이 다음을 제공합니다.

  • 설치된 하드웨어의 자동 및 동적 인식

  • 하드웨어 리소스 할당(및 재할당)

  • 적절한 드라이버 로드

  • 드라이버가 PnP 시스템과 상호 작용할 수 있는 인터페이스

  • 드라이버 및 애플리케이션이 하드웨어 환경의 변경 내용을 학습하는 메커니즘

PnP를 지원하려면 드라이버가 다음 지침을 따라야 합니다.

  • DispatchPnP 루틴을 포함해야 합니다.

    이 디스패치 루틴은 IRP_MJ_PNP 요청 및 관련 부 함수 코드를 처리해야 합니다. 자세한 내용은 DispatchPnP 루틴을 참조하세요.

  • 하드웨어를 검색하지 않아야 합니다.

    PnP 관리자는 하드웨어 디바이스의 존재를 결정할 책임이 있습니다. PnP 관리자가 디바이스를 감지하면 AddDevice 루틴을 호출하여 드라이버에 알 수 있습니다. 시스템이 부팅되거나 사용자가 실행 중인 시스템에 디바이스를 추가하거나 제거할 때마다 하드웨어를 검색할 수 있습니다.

  • 하드웨어 리소스를 할당해서는 안 됩니다.

    PnP 드라이버는 디바이스에서 잠재적으로 사용할 수 있는 리소스 목록을 PnP 관리자에 제공해야 합니다. PnP 관리자는 각 디바이스에 리소스를 할당하고 IRP_MN_START_DEVICE 요청을 보낼 때 각 디바이스의 할당을 드라이버에 알릴 책임이 있습니다. 따라서 드라이버는 다양한 하드웨어 리소스 구성으로 작업할 수 있어야 합니다.

일부 드라이버는 시스템에서 제공하는 포트 또는 클래스 드라이버에 의해 PnP 및 전원 관리의 세부 정보로부터 격리됩니다. 예를 들어 SCSI 포트 드라이버는 SCSI 미니포트 드라이버를 전원 및 PnP 시스템의 많은 세부 정보로부터 격리하므로 SCSI 미니포트 드라이버는 전원 및 PnP IRP를 직접 처리할 필요가 없습니다. 이러한 드라이버의 경우 필요한 PnP 지원에 대한 자세한 내용은 드라이버별 설명서를 참조하세요.