IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL(ehstorbandmgmt.h)
이 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 요청은 대역 관리에서 스토리지 디바이스의 대역 목록을 검색하기 위해 전송됩니다. 밴드 정보는 밴드 위치 및 보안 속성을 포함하는 밴드 항목 테이블에 반환됩니다.
주 코드
입력 버퍼
Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 ENUMERATE_BANDS_PARAMETERS 구조체가 포함되어야 합니다.
입력 버퍼 길이
Parameters.DeviceIoControl.InputBufferLength 는 버퍼의 크기(바이트)를 나타내며 최소 sizeof (ENUMERATE_BANDS_PARAMETERS)여야 합니다.
출력 버퍼
Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 BAND_TABLE 구조와 BandTableEntryCount 대역 항목이 포함됩니다.
출력 버퍼 길이
BAND_TABLE 구조체와 BandTableEntryCount 대역 항목의 길이입니다.
상태 블록
정보 필드에는 출력 버퍼에 반환된 바이트 수가 포함됩니다. 상태 필드에 다음 값 중 하나를 반환할 수 있습니다.
상태 값 | Description |
---|---|
STATUS_SUCCESS | 스토리지 디바이스의 보안 기능이 비활성화되었습니다. |
STATUS_INVALID_DEVICE_REQUEST | 스토리지 디바이스는 대역 관리를 지원하지 않습니다. |
STATUS_INVALID_BUFFER_SIZE | 입력 버퍼 크기가 잘못되었습니다. |
STATUS_INVALID_PARAMETER | 입력 버퍼의 정보가 잘못되었습니다. |
STATUS_NOT_FOUND | 제공된 열거형 매개 변수에 대해 구성된 밴드가 없습니다. |
STATUS_BUFFER_OVERFLOW | 버퍼가 제공되지 않거나 크기가 0으로 설정되어 있지 않습니다. 필요한 크기는 정보 필드에 반환됩니다. |
STATUS_IO_DEVICE_ERROR | 통신이 실패했습니다. 스토리지 디바이스가 보안 프로토콜과 호환되지 않을 수 있습니다. |
STATUS_BUFFER_TOO_SMALL | 제공된 출력 버퍼가 반환된 출력 데이터를 저장할 만큼 크지 않습니다. |
설명
드라이버 또는 애플리케이션은 요청에 대한 출력 버퍼를 NULL로 설정하고 출력 크기를 0으로 설정하여 필요한 출력 버퍼 크기를 쿼리할 수 있습니다. IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 요청은 IoStatus 블록의 상태 필드가 STATUS_BUFFER_OVERFLOW 설정되고 정보 필드에 필요한 버퍼 크기가 포함됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 사용하여 사용할 수 있습니다. |
머리글 | ehstorbandmgmt.h(EhStorBandMgmt.h 포함) |
추가 정보
ENUMERATE_BANDS_PARAMETERS