Функция GetTapePosition (winbase.h)
Функция GetTapePosition извлекает текущий адрес ленты в логических или абсолютных блоках.
Синтаксис
DWORD GetTapePosition(
[in] HANDLE hDevice,
[in] DWORD dwPositionType,
[out] LPDWORD lpdwPartition,
[out] LPDWORD lpdwOffsetLow,
[out] LPDWORD lpdwOffsetHigh
);
Параметры
[in] hDevice
Дескриптор на устройство, на котором нужно получить положение ленты. Этот дескриптор создается с помощью CreateFile.
[in] dwPositionType
Тип получаемого адреса. Этот параметр может принимать одно из указанных ниже значений.
[out] lpdwPartition
Указатель на переменную, которая получает номер текущей секции ленты. Секции нумеруются логически от 1 до n, где 1 — это первая секция на ленте, а n — последняя. При получении адреса блока для конкретного устройства или если устройство поддерживает только одну секцию, этот параметр получает ноль.
[out] lpdwOffsetLow
Указатель на переменную, получающую биты нижнего порядка текущей позиции ленты.
[out] lpdwOffsetHigh
Указатель на переменную, которая получает биты высокого порядка текущей позиции ленты. Этот параметр может иметь значение NULL , если биты высокого порядка не требуются.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, она может вернуть один из следующих кодов ошибок.
Код ошибки | Описание |
---|---|
|
Попытка получить доступ к данным до начала среднего маркера завершилась сбоем. |
|
В шине обнаружено условие сброса. |
|
Не удалось найти сведения о секции при загрузке ленты. |
|
Маркер окончания ленты был достигнут во время операции. |
|
Метка файла была достигнута во время операции. |
|
Неправильный размер блока на новой ленте в многотомном разделе. |
|
Лента, которая находилась в диске, была заменена или удалена. |
|
Маркер конца данных был достигнут во время операции. |
|
В диске нет носителей. |
|
Драйвер ленты не поддерживает запрошенную функцию. |
|
Не удалось секционировать ленту. |
|
Метка была достигнута во время операции. |
|
Не удалось заблокировать механизм выброса. |
|
Попытка выгрузить ленту завершилась сбоем. |
|
Носитель защищен от записи. |
Комментарии
Адрес логического блока относительно секции. Первый адрес логического блока в каждой секции равен нулю.
Вызовите функцию GetTapeParameters , чтобы получить сведения о состоянии, возможностях и емкостях ленточных накопителей и носителей.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |