다음을 통해 공유


IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL(ntddstor.h)

지정된 디바이스의 핫플러그 구성을 설정합니다. 이 요청은 STORAGE_HOTPLUG_INFO 구조를 입력으로 사용합니다. STORAGE_HOTPLUG_INFO 구조체의 DeviceHotplug 멤버는 수행되는 작업을 결정합니다. 해당 멤버의 값이 0이 아니면 레지스트리에서 디바이스의 제거 정책에 대한 값이 ExpectSurpriseRemoval 로 설정되고 모든 수준의 캐싱이 사용하지 않도록 설정됩니다. DeviceHotplug 값이 0이면 제거 정책이 ExpectOrderlyRemoval로 설정되고 캐싱이 선택적으로 사용하도록 설정될 수 있습니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

입력 버퍼입니다.

입력 버퍼 길이

I/O 스택 위치의 Parameters.DeviceIoControl.InputBufferLength는 매개 변수 버퍼의 크기(바이트)를 나타내며 sizeof(STORAGE_HOTPLUG_INFO)보다 크거나 같아야 합니다.

출력 버퍼

드라이버는 Irp-AssociatedIrp.SystemBuffer>의 버퍼에 있는 STORAGE_HOTPLUG_INFO 구조의 핫플러그 구성 데이터를 반환합니다.

출력 버퍼 길이

STORAGE_HOTPLUG_INFO 구조체의 길이입니다.

상태 블록

상태 필드는 STATUS_SUCCESS 설정되거나 입력 버퍼가 너무 작은 경우 STATUS_INFO_LENGTH_MISMATCH 수 있습니다. STORAGE_HOTPLUG_INFO Size 멤버가 이 디바이스의 클래스 드라이버에서 예상한 크기가 아닌 경우 STATUS_INVALID_PARAMETER_1 설정됩니다. MediaRemoveable 멤버에 클래스 드라이버가 보유한 값과 다른 값이 있는 경우 STATUS_INVALID_PARAMETER_2 설정됩니다. MediaHotplug 멤버에 클래스 드라이버가 보유한 값과 다른 값이 있는 경우 STATUS_INVALID_PARAMETER_3 설정되며, WriteCacheEnableOverride 멤버에 클래스 드라이버가 보유한 값과 다른 값이 있으면 STATUS_INVALID_PARAMETER_5 설정됩니다.

요구 사항

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

추가 정보

IOCTL_STORAGE_GET_HOTPLUG_INFO

STORAGE_HOTPLUG_INFO