структура 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, указывает, что заполнение данных включено на устройстве, поддерживающем его. Если заполнение включено, устройство заполняет данные нулями, чтобы сохранить потоковую передачу ленты до тех пор, пока данные не будут готовы. Если задано значение FALSE, заполнение данных не включено.
ReportSetmarks
Если задано значение TRUE, указывает, что на устройстве, поддерживающем его, включены метки отчетов. Устройство сообщает о метках, встречающихся во время операций чтения или пробела. Если задано значение FALSE, метки для отчетов не включены.
DefaultBlockSize
Указывает размер блока по умолчанию в байтах.
MaximumBlockSize
Указывает максимальный размер блока (в байтах) ленточного устройства или базового адаптера шины узла (HBA) в зависимости от того, какой размер меньше.
MinimumBlockSize
Указывает минимальный размер блока в байтах.
MaximumPartitionCount
Указывает максимальное количество секций, поддерживаемых устройством.
FeaturesLow
Указывает функции, поддерживаемые этим диском. Драйвер мини-порта устанавливает флаги TAPE_DRIVE_XXX для функций, поддерживаемых диском, и очищает флаги для функций, которые не поддерживаются. Вызывающие стороны могут использовать маски TAPE_DRIVE_XXX, определенные в файле minitape.h , чтобы определить, поддерживает ли диск определенную функцию. Доступны следующие маски:
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 | Устройство поддерживает отчеты о метки. |
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
Указывает дополнительные функции, поддерживаемые этим диском, если TAPE_DRIVE_HIGH_FEATURES задано в разделе FeaturesLow. Драйвер мини-порта устанавливает флаги TAPE_DRIVE_XXX для функций, поддерживаемых диском, и очищает флаги для функций, которые не поддерживаются. Вызывающие стороны могут использовать маски TAPE_DRIVE_XXX, определенные в файле minitape.h , чтобы определить, поддерживает ли диск определенную функцию.
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 | Устройство перемещает ленту назад по блокам, меткам файлов или заданным знакам. |
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 | Устройство включает и отключает отчеты о метках. |
TAPE_DRIVE_SETMARKS | Устройство перемещает ленту вперед (или обратно) на указанное количество меток. |
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 | Устройство записывает метки. |
TAPE_DRIVE_WRITE_SHORT_FMKS | Устройство записывает короткие метки файлов. |
EOTWarningZoneSize
Указывает размер зоны раннего предупреждения в байтах в конце ленты. При входе в зону устройство возвращает условие проверка.
Требования
Требование | Значение |
---|---|
Заголовок | minitape.h (включая Ntddtape.h, Minitape.h) |