Функция SetTapePosition (winbase.h)
Функция SetTapePosition задает положение ленты на указанном устройстве.
Синтаксис
DWORD SetTapePosition(
[in] HANDLE hDevice,
[in] DWORD dwPositionMethod,
[in] DWORD dwPartition,
[in] DWORD dwOffsetLow,
[in] DWORD dwOffsetHigh,
[in] BOOL bImmediate
);
Параметры
[in] hDevice
Дескриптор устройства, на котором устанавливается положение ленты. Этот дескриптор создается с помощью функции CreateFile .
[in] dwPositionMethod
Тип выполняемого позиционирования. Этот параметр должен иметь одно из следующих значений.
[in] dwPartition
Секционирование для размещения внутри. Если значение dwPartition равно нулю, используется текущая секция. Секции нумеруются логически от 1 до n, где 1 — первая секция на ленте, а n — последняя.
[in] dwOffsetLow
Биты нижнего порядка адреса блока или счетчика для операции позиции, указанной параметром dwPositionMethod .
[in] dwOffsetHigh
Биты высокого порядка адреса блока или счетчика для операции позиции, указанной параметром dwPositionMethod . Если биты высокого порядка не требуются, этот параметр должен быть равен нулю.
[in] bImmediate
Указывает, следует ли возвращать, как только начинается операция перемещения. Если этот параметр имеет значение TRUE, функция возвращает немедленно; Значение false, функция не возвращается до завершения операции перемещения.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, она может вернуть один из следующих кодов ошибок.
Ошибка | Описание |
---|---|
|
Попытка получить доступ к данным до начала среднего маркера завершилась сбоем. |
|
В шине обнаружено условие сброса. |
|
Не удалось найти сведения о секции при загрузке ленты. |
|
Маркер конца ленты был достигнут во время операции. |
|
Метка файла была достигнута во время операции. |
|
Неправильный размер блока на новой ленте в многотомном разделе. |
|
Лента, которая находилась в диске, была заменена или удалена. |
|
Маркер конца данных был достигнут во время операции. |
|
На диске нет носителя. |
|
Драйвер ленты не поддерживает запрошенную функцию. |
|
Не удалось секционировать ленту. |
|
Метка была достигнута во время операции. |
|
Не удалось заблокировать механизм извлечения. |
|
Попытка выгрузить ленту завершилась сбоем. |
|
Носитель защищен от записи. |
Комментарии
Если смещение, заданное dwOffsetLow и dwOffsetHigh , указывает количество блоков, меток файлов или меток setmark для перемещения, положительное смещение перемещает ленту вперед в конец последнего блока, метки или метки. Отрицательное смещение перемещает ленту назад к началу последнего блока, метки или метки. Если смещение равно нулю, лента не перемещается.
Чтобы получить сведения о состоянии, возможностях и емкости ленточных накопителей и носителей, вызовите функцию GetTapeParameters .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |