다음을 통해 공유


IOCTL_EHSTOR_BANDMGMT_CREATE_BAND IOCTL(ehstorbandmgmt.h)

새 밴드는 IOCTL_EHSTOR_BANDMGMT_CREATE_BAND 요청을 사용하여 대역 관리 스토리지 디바이스에 만들어집니다. 밴드 위치 및 보안 속성을 포함하는 새 밴드가 밴드 항목 테이블에 추가됩니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 CREATE_BAND_PARAMETERS 구조와 BAND_LOCATION_INFO, BAND_SECURITY_INFOAUTH_KEY 구조가 포함되어야 합니다.

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

입력 버퍼 길이

Parameters.DeviceIoControl.InputBufferLength 는 버퍼의 크기(바이트)를 나타내며, 버퍼의 크기는 최소한 sizeof (CREATE_BAND_PARAMETERS) + sizeof(BAND_LOCATION_INFO) + sizeof (BAND_SECURITY_INFO) + sizeof(AUTH_KEY)여야 합니다.

출력 버퍼

Irp-AssociatedIrp.SystemBuffer>의 출력 버퍼에는 필요에 따라 새로 만든 대역의 식별자에 대한 ULONG 값이 포함됩니다.

출력 버퍼 길이

대역 식별자를 받으려면 Parameters.DeviceIoControl.OutputBufferLength가 최소한 sizeof(ULONG)여야 합니다. 대역 식별자의 반환을 원하지 않는 경우 Parameters.DeviceIoControl.OutputBufferLength 를 0으로 설정합니다.

상태 블록

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

상태 값 Description
STATUS_SUCCESS 새 밴드가 만들어졌습니다.
STATUS_INVALID_DEVICE_REQUEST 스토리지 디바이스는 대역 관리를 지원하지 않습니다.
STATUS_INVALID_BUFFER_SIZE 입력 버퍼 크기가 잘못되었습니다.
STATUS_INVALID_PARAMETER 입력 버퍼의 정보가 잘못되었습니다.
STATUS_CONFLICTING_ADDRESSES 겹치는 위치로 인해 밴드가 만들어지지 않았습니다.
STATUS_INSUFFICIENT_RESOURCES 밴드 테이블이 이미 가득 찼기 때문에 밴드가 만들어지지 않았습니다.
STATUS_IO_DEVICE_ERROR 통신이 실패했습니다. 스토리지 디바이스가 보안 프로토콜과 호환되지 않을 수 있습니다.

설명

새로 만든 밴드에 인증 키를 할당하는 것은 선택 사항입니다. CREATE_BAND_PARAMETERS 구조에서AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY 있는 키가 제공되지 않으면 기본 인증 키가 사용됩니다. 그러나 이로 인해 밴드는 인증 키를 변경하여 만든 직후 밴드를 제어할 수 있는 다른 호출자에게 취약합니다. 생성 시 기본이 아닌 인증 키를 대역에 할당하는 것이 좋습니다.

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

새 밴드의 위치는 기존 밴드와 겹치지 않아야 하며 이 요청은 STATUS_CONFLICTING_ADDRESSES 실패합니다.

밴드의 잠금이 해제되면 BAND_SECURITY_INFOReadLock 또는 WriteLock 멤버가 FALSE로 설정되고 CREATEBAND_AUTHKEY_CACHING_ENABLED CREATE_BAND_PARAMETERSFlags 멤버에 설정되면 자격 증명 캐싱이 활성화됩니다. 인증 사일로 드라이버는 메모리에 대역 인증 키를 캐시합니다. 이렇게 하면 대역 크기 조정과 같이 볼륨 유지 관리가 필요할 때 사일로 드라이버가 스토리지 디바이스에 대한 호스트 액세스를 자동으로 인증할 수 있습니다.

요구 사항

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

추가 정보

BAND_LOCATION_INFO

BAND_SECURITY_INFO

CREATE_BAND_PARAMETERS