다음을 통해 공유


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