IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL(ntddstor.h)
지정된 디바이스의 핫플러그 구성을 설정합니다. 이 요청은 STORAGE_HOTPLUG_INFO 구조를 입력으로 사용합니다. STORAGE_HOTPLUG_INFO 구조체의 DeviceHotplug 멤버는 수행되는 작업을 결정합니다. 해당 멤버의 값이 0이 아니면 레지스트리에서 디바이스의 제거 정책에 대한 값이 ExpectSurpriseRemoval 로 설정되고 모든 수준의 캐싱이 사용하지 않도록 설정됩니다. DeviceHotplug 값이 0이면 제거 정책이 ExpectOrderlyRemoval로 설정되고 캐싱이 선택적으로 사용하도록 설정될 수 있습니다.
주 코드
입력 버퍼
입력 버퍼입니다.
입력 버퍼 길이
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 포함) |