다음을 통해 공유


IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY IOCTL(ehstorbandmgmt.h)

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

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

Irp->AssociatedIrp.SystemBuffer 버퍼에는 AUTH_KEYBAND_SECURITY_INFO 구조 다음에 SET_BAND_SECURITY_PARAMETERS 구조가 포함되어야 합니다.

SET_BAND_SECURITY_PARAMETERSAuthKeyOffset 멤버가 EHSTOR_BANDMGR_NO_KEY설정되면 시스템 버퍼의 입력 데이터에 AUTH_KEY 구조가 포함되지 않아도 됩니다. 또한 새 인증 키가 제공되지 않으면 업데이트된 키 구조가 포함되지 않습니다.

입력 버퍼 길이

Parameters.DeviceIoControl.InputBufferLength 버퍼의 크기(바이트)를 나타내며, 모든 입력 구조가 필요한 경우 최소 sizeof(SET_BAND_SECURITY_PARAMETERS) + 2 * sizeof(AUTH_KEY) + sizeof(BAND_SECURITY_INFO)이어야 합니다.

출력 버퍼

없음.

출력 버퍼 길이

없음.

상태 블록

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

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

발언

밴드에 대한 읽기 및 쓰기 잠금 및 잠금 해제는 시스템 버퍼에 입력으로 포함된 BAND_SECURITY_INFO 구조에서 이 IOCTL로 설정됩니다.

인증 키 변경은 대역의 잠금 상태에 영향을 미치지 않습니다. 이 요청을 사용하여 인증 키를 변경하기 위해 볼륨을 분리할 필요는 없습니다.

BAND_SECURITY_INFOReadlock 또는 WriteLock 멤버가 FALSE인 경우 SETBANDSEC_AUTHKEY_CACHING_ENABLEDSET_BAND_SECURITY_PARAMETERSFlags 멤버에 설정된 경우 사일로 드라이버는 제공된 인증 키를 캐시합니다.

특별한 경우, 이 IOCTL은 BAND_SECURITY_INFO잠금 멤버를 사용하지 않고 밴드가 잠금 해제되었음을 사일로 드라이버에 알리는 데 사용할 수 있습니다. 이렇게 하려면 SET_BAND_SECURITY_PARAMETERSNewAuthKeyOffset 멤버가 BandSecurityInfoOffset 0으로 설정된 CurrentAuthKeyOffset 설정됩니다. 이 경우 보안 변경은 발생하지 않지만 CurrentAuthKeyOffset 제공된 키는 SETBANDSEC_AUTHKEY_CACHING_ENABLEDFlags설정된 경우 메모리에 캐시됩니다.

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

요구 사항

요구
지원되는 최소 클라이언트 Windows 8부터 사용 가능
헤더 ehstorbandmgmt.h(EhStorBandMgmt.h 포함)

참고 항목

BAND_SECURITY_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_SECURITY_PARAMETERS