다음을 통해 공유


IOCTL_EHSTOR_BANDMGMT_CREATE_BAND IOCTL(ehstorbandmgmt.h)

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

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

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

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

입력 버퍼 길이

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

출력 버퍼

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

출력 버퍼 길이

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

상태 블록

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

상태 값 묘사
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 이 요청이 실패합니다.

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

요구 사항

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

참고 항목

BAND_LOCATION_INFO

BAND_SECURITY_INFO

CREATE_BAND_PARAMETERS