다음을 통해 공유


IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL(ehstorbandmgmt.h)

대역 관리 스토리지 디바이스에서 대역의 위치 속성은 IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION 요청으로 수정됩니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 SET_BAND_LOCATION_PARAMETERS 구조체와 AUTH_KEYBAND_LOCATION_INFO 구조체가 포함되어야 합니다.

SET_BAND_LOCATION_PARAMETERSAuthKeyOffset 멤버가 EHSTOR_BANDMGR_NO_KEY 설정된 경우 시스템 버퍼의 입력 데이터에 AUTH_KEY 구조가 포함되지 않아도 됩니다.

입력 버퍼 길이

Parameters.DeviceIoControl.InputBufferLength 는 버퍼의 크기(바이트)를 나타내며, 이는 적어도 sizeof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO)여야 합니다.

출력 버퍼

없음

출력 버퍼 길이

없음

상태 블록

상태 필드에 다음 값 중 하나를 반환할 수 있습니다.

상태 값 Description
STATUS_SUCCESS 밴드의 위치 속성이 변경되었습니다.
STATUS_INVALID_DEVICE_REQUEST 스토리지 디바이스는 대역 관리를 지원하지 않습니다.
STATUS_INVALID_BUFFER_SIZE 입력 버퍼 크기가 잘못되었습니다.
STATUS_INVALID_PARAMETER 입력 버퍼의 정보가 잘못되었습니다.
STATUS_NOT_FOUND 제공된 선택 기준에 대한 밴드를 찾을 수 없습니다.
STATUS_ACCESS_DENIED 제공된 인증 키가 잘못되었습니다.
STATUS_IO_DEVICE_ERROR 통신이 실패했습니다. 스토리지 디바이스가 보안 프로토콜과 호환되지 않을 수 있습니다.

설명

크기 조정 후에도 남아 있는 LBA의 데이터는 작업에 의해 수정되지 않습니다. 또한 크기 조정 후 볼륨에 걸쳐 있는 LBA 범위가 대역 내에 남아 있는 경우 크기 조정 작업 중에 볼륨을 분리할 필요가 없습니다.

이 요청에 의해 밴드 테이블에 대한 변경 내용은 IOCTL 요청이 완료되기 전에 디바이스에 원자성으로 커밋됩니다. 따라서 시스템 또는 전원 오류가 발생할 경우 밴드가 모든 속성 집합으로 수정되거나 속성이 전혀 설정되지 않도록 보장됩니다.

BAND_LOCATION_INFOBandSize 멤버는 0보다 커야 합니다. 이 IOCTL은 대역을 0으로 조정하여 밴드를 삭제할 수 없습니다. 밴드를 삭제하기 위해 IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 요청이 사용됩니다.

BAND_LOCATION_INFO 전역 밴드의 속성을 지정하는 경우 BandStart를 0으로 설정하고 BandSize를 –1로 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
머리글 ehstorbandmgmt.h(EhStorBandMgmt.h 포함)

추가 정보

BAND_LOCATION_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_LOCATION_PARAMETERS