중간 드라이버에서 IRP 설정

파일 시스템 드라이버와 이동식 미디어 디바이스 드라이버 사이에 계층화된 중간 드라이버는 IRP에서 다음 하위 수준 드라이버의 I/O 스택 위치를 설정해야 합니다. 들어오는 IRP_MJ_READ, IRP_MJ_WRITEIRP_MJ_DEVICE_CONTROL 요청에서 중간 드라이버는 하위 드라이버에 대한 I/O 스택 위치를 설정할 때 자체 I/O 스택 위치 플래그 를 다음 하위 수준 드라이버의 I/O 스택 위치에 복사해야 합니다.

중간 드라이버가 하위 수준의 이동식 미디어 드라이버에 대해 새 IRP를 할당하는 경우 다음과 같이 해당 IRP를 설정해야 합니다.

  • 전송 요청의 경우 원래 IRP의 Tail.Overlay.Thread 값에서 드라이버가 할당한 각 IRP의 스레드 컨텍스트를 설정해야 합니다.

  • IRP_MJ_READ, IRP_MJ_WRITEIRP_MJ_DEVICE_CONTROL 요청의 경우 I/O 스택 위치 플래그를 원래 IRP에서 드라이버가 할당한 각 IRP로 복사해야 합니다.

그렇지 않으면 파일 시스템은 캐시된 파일 데이터의 무결성을 유지 관리하거나 열려 있는 파일이 있는 미디어를 다시 탑재하라는 메시지가 사용자에게 표시되도록 할 수 없습니다.