структура TAPE_SET_POSITION (ntddtape.h)
Структура TAPE_SET_POSITION используется вместе с запросом IOCTL_TAPE_SET_POSITION для перемещения текущей позиции на ленту в указанную секцию и смещение.
Синтаксис
typedef struct _TAPE_SET_POSITION {
ULONG Method;
ULONG Partition;
LARGE_INTEGER Offset;
BOOLEAN Immediate;
} TAPE_SET_POSITION, *PTAPE_SET_POSITION;
Члены
Method
Указывает тип расположения для выполнения. Этот элемент должен иметь одно из следующих значений:
TAPE_REWIND
Помещает ленту в начало секции, указанной в разделе секции, если носитель секционирован, а также в начало носителя, если носитель не секционирован. Если носитель не секционирован, секционирование должно быть равно нулю. Элемент смещения игнорируется.
TAPE_ABSOLUTE_BLOCK
Помещает ленту в абсолютный адрес блока, расположенный в смещение от начала, указанного Смещение. Значение элемента секции игнорируется.
TAPE_LOGICAL_BLOCK
Помещает ленту в адрес логического блока, указанный смещения, относительно начала секции, указанной в секции. Если носитель не секционирован, секционирование должно быть равно нулю.
TAPE_PSEUDO_LOGICAL_BLOCK
Помещает ленту в адрес псевдологического блока, указанный смещения, относительно начала секции, указанной в секции. Если носитель не секционирован, секции должно быть равно нулю.
TAPE_SPACE_END_OF_DATA
Помещает ленту в конец секции, указанной в секции, или если носитель не секционирован, в конце ленты. Элемент смещения игнорируется.
TAPE_SPACE_RELATIVE_BLOCKS
Начиная с текущей позиции, помещает ленту сразу после количества блоков, указанных Offset. Элемент секции игнорируется.
TAPE_SPACE_FILEMARKS
Начиная с текущей позиции, помещает ленту сразу после количества меток файлов, указанных Offset. Элемент секции игнорируется.
TAPE_SPACE_SEQUENTIAL_FMKS
Начиная с текущей позиции, помещает ленту сразу после следующего вхождения( если таковые имеются) числа последовательных меток файлов, указанных Offset. Элемент секции игнорируется.
TAPE_SPACE_SETMARKS
Начиная с текущей позиции, помещает ленту сразу после числа меток, указанных Offset. Элемент секции игнорируется.
TAPE_SPACE_SEQUENTIAL_SMKS
Начиная с текущей позиции, помещает ленту сразу после следующего вхождения( если таковые имеются) числа последовательных меток, указанных Offset. Элемент секции игнорируется.
Partition
Указывает секцию, в которой необходимо задать положение ленты. Этот элемент должен иметь одно из следующих значений:
- NOT_PARTITIONED (или ноль)
- DATA_PARTITION
- DIRECTORY_PARTITION
Если носитель не секционирован, этот элемент равен нулю.
Offset
Указывает смещение, тип которого зависит от значения в методе . Если указанный метод помещает ленту в адрес блока, Offset указывает смещение байтов в указанную секцию. Если указанный метод заключается в пропуске блоков, меток файлов или меток, Offset указывает число, которое необходимо пропустить. Если смещение равно нулю, лента размещается в начале раздела.
Immediate
Если задано значение TRUE, указывает, что целевое устройство должно немедленно возвращать состояние. Если задано значение FALSE, указывает, что устройство должно вернуть состояние после завершения операции.
Замечания
Обратите внимание, что диск или лента не поддерживают все значения метода.
Секции нумеруются логически от 1 до N. Однако номер секции не подразумевает физическое положение на ленте. Например, номер секции один может не находиться в начале носителя.
Если смещение указывает ряд блоков, файловых знаков или меток для размещения, положительное значение N в смещение приводит к переадресации переадресации по блокам N, меткам файлов или меткам, остановке на стороне блока, файлового знака или метки конца ленты. Нулевое значение смещения не приводит к изменению позиции. Отрицательное значение N в смещение приводит к обратному расположению в начале раздела или ленточного носителя, по блокам N, файлам или меткам, остановке на стороне начала секции блока, файла или метки.
Требования
Требование | Ценность |
---|---|
заголовка | ntddtape.h (include Ntddtape.h, Minitape.h) |