IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY IOCTL(ehstorbandmgmt.h)
대역 관리 스토리지 디바이스의 대역 보안 속성은 IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY 요청으로 수정됩니다.
주 코드
입력 버퍼
Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 SET_BAND_SECURITY_PARAMETERS 구조와 AUTH_KEY 및 BAND_SECURITY_INFO 구조체가 포함되어야 합니다.
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)여야 합니다.
출력 버퍼
없음
출력 버퍼 길이
없음
상태 블록
상태 필드에 다음 값 중 하나를 반환할 수 있습니다.
상태 값 | Description |
---|---|
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_INFO Readlock 또는 WriteLock 멤버가 FALSE인 밴드가 잠금 해제되면 SET_BAND_SECURITY_PARAMETERS Flags 멤버에서 SETBANDSEC_AUTHKEY_CACHING_ENABLED 설정된 경우 사일로 드라이버는 제공된 인증 키를 캐시합니다.
특별한 경우, 이 IOCTL은 BAND_SECURITY_INFO 잠금 멤버를 사용하지 않고 밴드가 잠금 해제되었음을 사일로 드라이버에 알리는 데 사용할 수 있습니다. 이렇게 하려면 SET_BAND_SECURITY_PARAMETERSNewAuthKeyOffset 멤버가 BandSecurityInfoOffset이 0으로 설정된 CurrentAuthKeyOffset으로 설정됩니다. 이 경우 보안 변경은 발생하지 않지만 CurrentAuthKeyOffset에 제공된 키는 플래그에 SETBANDSEC_AUTHKEY_CACHING_ENABLED 설정된 경우 메모리에 캐시됩니다.
이 요청에 의해 밴드 테이블에 대한 변경 내용은 IOCTL 요청이 완료되기 전에 디바이스에 원자성으로 커밋됩니다. 따라서 시스템 또는 전원 오류가 발생할 경우 밴드가 모든 속성 집합으로 수정되거나 속성이 전혀 설정되지 않도록 보장됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
머리글 | ehstorbandmgmt.h(EhStorBandMgmt.h 포함) |