Storage 드라이버 및 디바이스 개체 정보
스토리지 디바이스 스택은 시스템의 스토리지 디바이스에 대한 I/O 처리와 관련된 드라이버에서 만든 디바이스 개체 트리로 구성됩니다. 이 트리의 루트는 스토리지 어댑터 또는 스토리지 스택과 통합된 다른 드라이버 스택에 대한 기능적 FDO(디바이스 개체)입니다. 이 트리의 리프는 파일 시스템 및 사용자 모드 애플리케이션에서 사용할 디바이스 개체입니다.
다른 PnP 드라이버와 마찬가지로 스토리지 클래스 또는 스토리지 필터 드라이버는 초기화 시 PnP 관리자가 드라이버의 AddDevice 루틴에 전달한 디바이스 개체에 대한 포인터를 사용하여 IoCreateDevice 를 사용하여 디바이스 개체를 만들고 IoAttachDeviceToDeviceStack을 사용하여 디바이스 스택에 연결하여 AddDevice 루틴의 트리에 자신을 추가합니다. IoAttachDeviceToDeviceStack 은 새 디바이스 개체를 디바이스 스택의 현재 맨 위에 연결합니다.
테이프 미니 클래스, 중간 체인저 미니 클래스 또는 SCSI 미니포트 드라이버는 디바이스 개체를 만들고 디바이스 스택에 연결할 필요가 없습니다. 대신 시스템 제공 테이프 클래스, 체인저 클래스 또는 SCSI 포트 드라이버는 미니 클래스/미니포트를 대신하여 이러한 작업을 처리하여 미니 클래스/미니포트 드라이버 루틴을 호출하여 디바이스 개체를 만드는 데 필요한 데이터를 수집합니다.
Storage 포트 드라이버는 FILE_DEVICE_MASS_STORAGE 형식의 PDO(물리적 디바이스 개체)를 만듭니다. 디스크 클래스, CD-ROM 클래스, 테이프 클래스 및 체인저 클래스 드라이버는 각각 FILE_DEVICE_DISK, FILE_DEVICE_CD_ROM, FILE_DEVICE_TAPE 및 FILE_DEVICE_CHANGER 형식의 FDO를 만듭니다.
PnP 드라이버 디자인에 대한 자세한 내용은 PnP 드라이버 디자인 지침을 참조하세요. PnP 관련 IoXxx 루틴 에 대한 자세한 내용은 플러그 앤 플레이 루틴을 참조하세요.