다음을 통해 공유


스토리지 드라이버 및 디바이스 개체 정보

스토리지 디바이스 스택은 시스템의 스토리지 디바이스에 대한 I/O 처리와 관련된 드라이버에서 만든 디바이스 개체 트리로 구성됩니다. 이 트리의 루트는 스토리지 어댑터 또는 스토리지 스택과 통합된 다른 드라이버 스택에 대한 FDO(기능 디바이스 개체)입니다. 이 트리의 리프는 파일 시스템 및 사용자 모드 애플리케이션에서 사용할 디바이스 개체입니다.

다른 PnP 드라이버와 마찬가지로 스토리지 클래스 또는 스토리지 필터 드라이버는 초기화 시 PnP 관리자가 드라이버의 AddDevice 루틴에 전달한 디바이스 개체에 대한 포인터를 사용하여 IoCreateDevice 를 사용하여 디바이스 개체를 만들고 IoAttachDeviceToDeviceStack을 사용하여 디바이스 스택에 연결하여 AddDevice 루틴의 트리에 자신을 추가합니다. IoAttachDeviceToDeviceStack 은 새 디바이스 개체를 디바이스 스택의 현재 맨 위에 연결합니다.

테이프 미니클래스, 중간 체인저 미니클래스 또는 SCSI 미니포트 드라이버는 디바이스 개체를 만들고 디바이스 스택에 연결할 필요가 없습니다. 대신 시스템 제공 테이프 클래스, 체인저 클래스 또는 SCSI 포트 드라이버는 미니클래스/미니포트를 대신하여 이러한 작업을 처리하고, 미니클래스/미니포트 드라이버 루틴을 호출하여 디바이스 개체를 만드는 데 필요한 데이터를 수집합니다.

스토리지 포트 드라이버는 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 루틴에 대한 자세한 내용은 플러그 앤 플레이 루틴을 참조하세요.