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 는 버퍼의 크기(바이트)를 나타내며, 이 크기는 최소 sizeof (DELETE_BAND_PARAMETERS) + sizeof(AUTH_KEY)여야 합니다.
출력 버퍼
없음
출력 버퍼 길이
없음
상태 블록
상태 필드에 다음 값 중 하나를 반환할 수 있습니다.
상태 값 | Description |
---|---|
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 포함) |