TAPE_GET_DRIVE_PARAMETERS 구조체(minitape.h)
TAPE_GET_DRIVE_PARAMETERS 구조는 테이프 드라이브의 기능에 대한 정보를 검색하기 위해 IOCTL_TAPE_GET_DRIVE_PARAMS 요청과 함께 사용됩니다.
구문
typedef struct _TAPE_GET_DRIVE_PARAMETERS {
BOOLEAN ECC;
BOOLEAN Compression;
BOOLEAN DataPadding;
BOOLEAN ReportSetmarks;
ULONG DefaultBlockSize;
ULONG MaximumBlockSize;
ULONG MinimumBlockSize;
ULONG MaximumPartitionCount;
ULONG FeaturesLow;
ULONG FeaturesHigh;
ULONG EOTWarningZoneSize;
} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;
멤버
ECC
TRUE로 설정하면 디바이스에서 하드웨어 오류 수정을 사용한다는 것을 나타냅니다.
Compression
TRUE로 설정하면 압축이 지원되는 디바이스에서 사용하도록 설정되어 있음을 나타냅니다. 압축을 사용하도록 설정하면 디바이스는 데이터를 쓰기 전에 압축합니다. FALSE로 설정하면 디바이스에서 압축을 사용할 수 없습니다.
DataPadding
TRUE로 설정하면 데이터 패딩이 지원되는 디바이스에서 사용하도록 설정되어 있음을 나타냅니다. 패딩을 사용하도록 설정하면 디바이스는 데이터가 준비될 때까지 테이프 스트리밍을 유지하기 위해 데이터를 0으로 채점합니다. FALSE로 설정하면 데이터 패딩을 사용할 수 없습니다.
ReportSetmarks
TRUE로 설정하면 를 지원하는 디바이스에서 보고 집합 표시가 사용하도록 설정되어 있음을 나타냅니다. 디바이스는 읽기 또는 공간 작업 중에 발생한 setmark를 보고합니다. FALSE로 설정하면 보고 집합 표시가 사용하도록 설정되지 않습니다.
DefaultBlockSize
기본 블록 크기(바이트)를 나타냅니다.
MaximumBlockSize
테이프 디바이스 또는 HBA(기본 호스트 버스 어댑터)의 최대 블록 크기(바이트)를 나타냅니다.
MinimumBlockSize
최소 블록 크기(바이트)를 나타냅니다.
MaximumPartitionCount
디바이스에서 지원하는 최대 파티션 수를 나타냅니다.
FeaturesLow
이 드라이브에서 지원하는 기능을 나타냅니다. 미니포트 드라이버는 드라이브에서 지원하는 기능에 대해 TAPE_DRIVE_XXX 플래그를 설정하고 지원되지 않는 기능에 대한 플래그를 지웁니다. 호출자는 minitape.h에 정의된 TAPE_DRIVE_XXX 마스크를 사용하여 드라이브가 특정 기능을 지원하는지 여부를 확인할 수 있습니다. 사용 가능한 마스크는 다음과 같습니다.
Mask | 의미 |
---|---|
TAPE_DRIVE_CLEAN_REQUESTS | 디바이스는 청소가 필요한지 여부를 보고할 수 있습니다. |
TAPE_DRIVE_COMPRESSION | 디바이스는 하드웨어 데이터 압축을 지원합니다. |
TAPE_DRIVE_ECC | 디바이스는 하드웨어 오류 수정을 지원합니다. |
TAPE_DRIVE_EJECT_MEDIA | 디바이스가 미디어를 배출합니다. |
TAPE_DRIVE_EOT_WZ_SIZE | 디바이스는 영역 경고 크기의 끝을 보고할 수 있습니다. |
TAPE_DRIVE_ERASE_BOP_ONLY | 디바이스는 파티션 시작 표식에서만 지우기 작업을 수행합니다. |
TAPE_DRIVE_ERASE_IMMEDIATE | 디바이스가 즉시 지우기 작업을 수행합니까? 즉, 지우기 작업이 시작될 때 를 반환합니다. |
TAPE_DRIVE_ERASE_LONG | 디바이스는 긴 지우기 작업을 수행합니다. |
TAPE_DRIVE_ERASE_SHORT | 디바이스는 짧은 지우기 작업을 수행합니다. |
TAPE_DRIVE_FIXED | 디바이스는 고정 데이터 파티션을 만듭니다. |
TAPE_DRIVE_FIXED_BLOCK | 디바이스는 고정 길이 블록 모드를 지원합니다. |
TAPE_DRIVE_INITIATOR | 디바이스는 초기자 정의 파티션을 만듭니다. |
TAPE_DRIVE_GET_ABSOLUTE_BLK | 디바이스는 현재 디바이스별 블록 주소를 제공합니다. |
TAPE_DRIVE_GET_LOGICAL_BLK | 디바이스는 현재 논리 블록 주소(및 논리 테이프 파티션)를 제공합니다. |
TAPE_DRIVE_PADDING | 디바이스는 데이터 패딩을 지원합니다. |
TAPE_DRIVE_REPORT_SMKS | 디바이스는 setmark 보고를 지원합니다. |
TAPE_DRIVE_RESERVED_BIT | 예약된 비트를 식별하는 마스크입니다. 드라이버는 이 비트를 설정해서는 안됩니다. |
TAPE_DRIVE_SELECT | 디바이스는 선택 데이터 파티션을 만듭니다. |
TAPE_DRIVE_SET_CMP_BOP_ONLY | 디바이스는 읽기/쓰기 헤드가 파티션의 시작 부분에 있을 때만 압축을 사용하도록 설정할 수 있습니다. |
TAPE_DRIVE_SET_EOT_WZ_SIZE | 디바이스는 중간 끝 경고 크기 설정을 지원합니다. |
TAPE_DRIVE_TAPE_CAPACITY | 디바이스는 테이프의 최대 용량을 반환합니다. |
TAPE_DRIVE_TAPE_REMAINING | 디바이스는 테이프의 나머지 용량을 반환합니다. |
TAPE_DRIVE_VARIABLE_BLOCK | 디바이스는 가변 길이 블록 모드를 지원합니다. |
TAPE_DRIVE_WRITE_PROTECT | 테이프가 쓰기 사용 또는 쓰기 보호된 경우 디바이스에서 오류를 반환합니다. |
FeaturesHigh
featuresLow에서 TAPE_DRIVE_HIGH_FEATURES 설정된 경우 이 드라이브에서 지원하는 추가 기능을 나타냅니다. 미니포트 드라이버는 드라이브에서 지원하는 기능에 대해 TAPE_DRIVE_XXX 플래그를 설정하고 지원되지 않는 기능에 대한 플래그를 지웁니다. 호출자는 minitape.h에 정의된 TAPE_DRIVE_XXX 마스크를 사용하여 드라이브가 특정 기능을 지원하는지 여부를 확인할 수 있습니다.
Mask | 의미 |
---|---|
TAPE_DRIVE_ABS_BLK_IMMED | 디바이스는 테이프를 디바이스별 블록 주소로 이동하고 이동이 시작되는 즉시 반환됩니다. |
TAPE_DRIVE_ABSOLUTE_BLK | 디바이스는 테이프를 디바이스별 블록 주소로 이동합니다. |
TAPE_DRIVE_END_OF_DATA | 디바이스는 테이프를 파티션의 데이터 끝 표식으로 이동합니다. |
TAPE_DRIVE_FILEMARKS | 디바이스는 지정된 수의 파일 표시 앞으로(또는 뒤로) 테이프를 이동합니다. |
TAPE_DRIVE_FORMAT | 디바이스는 미디어의 형식을 지정할 수 있습니다. |
TAPE_DRIVE_FORMAT_IMMEDIATE | 디바이스는 즉시 명령으로 미디어의 형식을 지정할 수 있습니다. |
TAPE_DRIVE_HIGH_FEATURES | 높은 기능에 해당하는 비트를 나타내는 비트 마스크입니다. |
TAPE_DRIVE_LOAD_UNLOAD | 디바이스는 추가 작업을 위해 디바이스를 사용하도록 설정하고 사용하지 않도록 설정합니다. |
TAPE_DRIVE_LOAD_UNLD_IMMED | 디바이스는 즉시 로드 및 언로드 작업을 지원합니다. |
TAPE_DRIVE_LOCK_UNLOCK | 디바이스는 테이프 배출 메커니즘을 사용하거나 사용하지 않도록 설정합니다. |
TAPE_DRIVE_LOCK_UNLK_IMMED | 디바이스는 즉시 잠금 및 잠금 해제 작업을 지원합니다. |
TAPE_DRIVE_LOG_BLK_IMMED | 디바이스는 파티션의 논리 블록 주소로 테이프를 이동하고 이동이 시작되는 즉시 반환합니다. |
TAPE_DRIVE_LOGICAL_BLK | 디바이스는 파티션의 논리 블록 주소로 테이프를 이동합니다. |
TAPE_DRIVE_RELATIVE_BLKS | 디바이스는 지정된 수의 블록을 앞으로(또는 뒤로) 테이프를 이동합니다. |
TAPE_DRIVE_REVERSE_POSITION | 디바이스는 테이프를 블록, 파일 표시 또는 setmarks 위로 뒤로 이동합니다. |
TAPE_DRIVE_REWIND_IMMEDIATE | 디바이스는 즉시 되들이기 작업을 지원합니다. |
TAPE_DRIVE_SEQUENTIAL_FMKS | 디바이스는 테이프를 앞으로(또는 뒤로) 지정된 수의 연속 파일 표시가 처음 나타나는 것으로 이동합니다. |
TAPE_DRIVE_SEQUENTIAL_SMKS | 디바이스는 테이프를 앞으로(또는 뒤로) 지정된 연속 집합 표시 수의 첫 번째 항목으로 이동합니다. |
TAPE_DRIVE_SET_BLOCK_SIZE | 디바이스는 고정 길이 논리 블록의 크기 설정 또는 가변 길이 블록 모드 설정을 지원합니다. |
TAPE_DRIVE_SET_COMPRESSION | 디바이스는 하드웨어 데이터 압축을 사용하도록 설정하고 사용하지 않도록 설정합니다. |
TAPE_DRIVE_SET_ECC | 디바이스는 하드웨어 오류 수정을 사용하도록 설정하고 사용하지 않도록 설정합니다. |
TAPE_DRIVE_SET_PADDING | 디바이스는 데이터 패딩을 사용하도록 설정하고 사용하지 않도록 설정합니다. |
TAPE_DRIVE_SET_REPORT_SMKS | 디바이스는 setmarks의 보고를 사용하도록 설정하고 사용하지 않도록 설정합니다. |
TAPE_DRIVE_SETMARKS | 디바이스는 지정된 수의 setmark를 앞으로(또는 역방향) 테이프를 이동합니다. |
TAPE_DRIVE_SPACE_IMMEDIATE | 디바이스는 즉각적인 간격을 지원합니다. |
TAPE_DRIVE_TENSION | 디바이스는 테이프 장력을 지원합니다. |
TAPE_DRIVE_TENSION_IMMED | 디바이스는 즉각적인 테이프 장력을 지원합니다. |
TAPE_DRIVE_WRITE_FILEMARKS | 디바이스는 파일 표시를 씁니다. |
TAPE_DRIVE_WRITE_LONG_FMKS | 디바이스는 긴 파일 표시를 씁니다. |
TAPE_DRIVE_WRITE_MARK_IMMED | 디바이스는 짧고 긴 파일 표시를 즉시 작성할 수 있습니다. |
TAPE_DRIVE_WRITE_SETMARKS | 디바이스는 setmarks를 씁니다. |
TAPE_DRIVE_WRITE_SHORT_FMKS | 디바이스는 짧은 파일 표시를 씁니다. |
EOTWarningZoneSize
테이프의 끝 부분에 대한 조기 경고 영역의 크기(바이트)를 나타냅니다. 디바이스는 영역에 들어갈 때 검사 조건을 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | minitape.h(Ntddtape.h, Minitape.h 포함) |