IOCTL_EHSTOR_BANDMGMT_DELETE_BAND IOCTL(ehstorbandmgmt.h)
스토리지 디바이스에서 구성된 밴드는 IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 요청과 함께 삭제됩니다. 입력 매개 변수의 지우기 옵션을 사용하면 요청이 대역 데이터의 암호화 지우기를 수행할 수 있습니다.
주 코드
입력 버퍼
Irp->AssociatedIrp.SystemBuffer 입력 버퍼에는 DELETE_BAND_PARAMETERS 및 AUTH_KEY 구조가 포함되어야 합니다.
DELETE_BAND_PARAMETERSAuthKeyOffset 멤버가 EHSTOR_BANDMGR_NO_KEY설정되면 시스템 버퍼의 입력 데이터에 AUTH_KEY 구조가 포함되지 않아도 됩니다.
입력 버퍼 길이
Parameters.DeviceIoControl.InputBufferLength 버퍼의 크기를 바이트 단위로 나타내며, 이 크기는 (DELETE_BAND_PARAMETERS) + sizeof(AUTH_KEY) 크기 이상이어야 합니다.
출력 버퍼
없음.
출력 버퍼 길이
없음.
상태 블록
상태 필드에 다음 값 중 하나를 반환할 수 있습니다.
상태 값 | 묘사 |
---|---|
STATUS_SUCCESS | 밴드가 성공적으로 삭제되었습니다. |
STATUS_INVALID_DEVICE_REQUEST | 스토리지 디바이스는 대역 관리를 지원하지 않습니다. |
STATUS_INVALID_BUFFER_SIZE | 입력 버퍼 크기가 잘못되었습니다. |
STATUS_INVALID_PARAMETER | 입력 버퍼의 정보가 잘못되었습니다. |
STATUS_ACCESS_DENIED | 인증 키가 잘못되었거나 쓰기 위해 밴드가 잠겨 있습니다. |
STATUS_NOT_FOUND | 제공된 선택 기준에 대한 밴드를 찾을 수 없습니다. |
STATUS_IO_DEVICE_ERROR | 통신이 실패했습니다. 스토리지 디바이스가 보안 프로토콜과 호환되지 않을 수 있습니다. |
발언
먼저 지우기를 수행하지 않고 밴드를 삭제하려면 인증 키가 필요합니다. 밴드 지우기를 요청하기 위해 DELBAND_ERASE_BEFORE_DELETE 플래그는 DELETE_BAND_PARAMETERSFlags 멤버에 설정됩니다.
밴드 삭제 후 삭제된 밴드에 포함된 모든 LBA가 전역 밴드로 반환됩니다. 이제 전역 밴드에 대한 잠금 조건이 전역 밴드로 반환된 LBA에 적용됩니다. 전역 밴드로 반환된 LBA는 이제 전역 대역의 미디어 키와 연결되며 해당 LBA의 암호화된 데이터는 복구할 수 없습니다.
삭제된 밴드는 사일로 드라이버의 밴드 테이블에 남아 있지만 구성되지 않습니다. 인증 키가 기본값으로 다시 설정되고, 대역 및 키 메타데이터에 0이 포함되고, 잠금 상태가 PERSISTENT_UNLOCK되돌려집니다. 이제 밴드를 IOCTL_EHSTOR_BANDMGMT_CREATE_BAND 요청으로 재구성할 수 있습니다.
암호화 지우기 없이 밴드를 삭제해도 해당 대역의 암호화 키가 제거되지는 않습니다. 나중에 삭제된 밴드와 동일한 구성 및 대역 식별자를 사용하여 밴드를 만들 수 있습니다. 이 경우 이전 밴드 삭제 이후 이전에 밴드에 저장되고 덮어쓰지 않은 데이터를 사용할 수 있습니다. 이 상황을 방지하려면 DELETE_BAND_PARAMETERS설정된 DELBAND_ERASE_BEFORE_DELETE 플래그를 사용하여 밴드를 삭제합니다.
IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 전역 밴드를 삭제하지 않습니다. 이렇게 하려면 요청이 STATUS_INVALID_PARAMETER반환됩니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8부터 사용할 수 있습니다. |
헤더 | ehstorbandmgmt.h(EhStorBandMgmt.h 포함) |