다음을 통해 공유


IOCTL_STORAGE_MEDIA_REMOVAL IOCTL(ntddstor.h)

디바이스를 잠가 미디어 제거를 방지합니다. 드라이브가 사용 중일 때 드라이버가 미디어를 제거하는 것을 방지할 수 있는 경우 디바이스에서 미디어를 꺼내는 메커니즘을 사용하지 않도록 설정하거나 활성화합니다. 호출자가 읽기 또는 쓰기 액세스를 위해 열렸습니다.

드라이버가 호출자의 요청을 추적하는 IOCTL_STORAGE_EJECTION_CONTROL 달리 드라이버는 잠금 수가 이미 0인 경우에만 IOCTL_STORAGE_MEDIA_REMOVAL 잠금 해제 요청을 무시하므로 호출자가 드라이브의 잠금을 해제할 수 있습니다.

이 IOCTL을 지원할 수 있는 이동식 미디어 디바이스에 대한 드라이버는 다음을 수행해야 합니다.

  1. 디바이스 개체 확장에서 잠금 횟수를 유지합니다.
  2. 물리적 디바이스당 잠금 수를 유지합니다.
  3. 이 IOCTL을 사용하여 호출할 때 미디어 제거를 방지하는 플래그가 설정된 경우 개수를 증분합니다. 플래그가 명확하면 개수를 감소합니다.
  4. 모든 잠금 수가 0이 아닌 경우 미디어 제거를 방지합니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 부울 값이 포함되어 있으며 TRUE는 드라이버가 드라이브의 미디어를 잠가야 함을 나타냅니다.

입력 버퍼 길이

부울의 길이입니다.

출력 버퍼

없음

출력 버퍼 길이

없음

상태 블록

정보 필드는 0으로 설정됩니다. 상태 필드는 STATUS_SUCCESS 또는 STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE 또는 STATUS_DEVICE_NOT_CONNECTED 설정됩니다.

요구 사항

요구 사항
헤더 ntddstor.h(Ntddstor.h 포함)

추가 정보

IOCTL_STORAGE_EJECTION_CONTROL