На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

GetTapePosition



The GetTapePosition function retrieves the current address of the tape, in logical or absolute blocks.

DWORD GetTapePosition(

HANDLE hDevice, // handle of open device
DWORD dwPositionType, // type of address to obtain
LPDWORD lpdwPartition, // address of current tape partition
LPDWORD lpdwOffsetLow, // address of low-order 32 bits of tape position
LPDWORD lpdwOffsetHigh // address of high-order 32 bits of tape position
);


Parameters

hDevice

Identifies the device on which to get the tape position. This handle is created by using CreateFile.

dwPositionType

Specifies the type of address to obtain. This parameter can be one of the following values:

Value Description
TAPE_ABSOLUTE_POSITION The lpdwOffsetLow and lpdwOffsetHigh parameters receive the device-specific block address. The dwPartition parameter receives zero.
TAPE_LOGICAL_POSITION The lpdwOffsetLow and lpdwOffsetHigh parameters receive the logical block address. The dwPartition parameter receives the logical tape partition.


lpdwPartition

Points to a variable that receives the number of the current tape partition. Partitions are numbered logically from 1 through n, where 1 is the first partition on the tape and n is the last. When a device-specific block address is retrieved, or if the device supports only one partition, this parameter receives zero.

lpdwOffsetLow

Points to a variable that receives the low-order 32 bits of the current tape position.

lpdwOffsetHigh

Points to a variable that receives the high-order 32 bits of the current tape position. This parameter can be NULL if the high-order 32 bits are not required.



Return Values

If the function succeeds, the return value is NO_ERROR.
If the function fails, the return value is one of the following error codes:

Error code Description
ERROR_BEGINNING_OF_MEDIA An attempt to access data before the beginning-of-medium marker failed.
ERROR_BUS_RESET A reset condition was detected on the bus.
ERROR_END_OF_MEDIA The end-of-tape marker was reached during an operation.
ERROR_FILEMARK_DETECTED A filemark was reached during an operation.
ERROR_SETMARK_DETECTED A setmark was reached during an operation.
ERROR_NO_DATA_DETECTED The end-of-data marker was reached during an operation.
ERROR_PARTITION_FAILURE The tape could not be partitioned.
ERROR_INVALID_BLOCK_LENGTH The block size is incorrect on a new tape in a multivolume partition.
ERROR_DEVICE_NOT_PARTITIONED The partition information could not be found when a tape was being loaded.
ERROR_MEDIA_CHANGED The tape that was in the drive has been replaced or removed.
ERROR_NO_MEDIA_IN_DRIVE There is no media in the drive.
ERROR_NOT_SUPPORTED The tape driver does not support a requested function.
ERROR_UNABLE_TO_LOCK_MEDIA An attempt to lock the ejection mechanism failed.
ERROR_UNABLE_TO_UNLOAD_MEDIA An attempt to unload the tape failed.
ERROR_WRITE_PROTECT The media is write protected.


Remarks

A logical block address is relative to a partition. The first logical block address on each partition is zero.
Call the GetTapeParameters function to obtain information about the status, capabilities, and capacities of tape drives and media.

See Also

CreateFile, GetTapeParameters, SetTapePosition


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

GetTapePosition



Функция GetTapePosition извлекает текущий адрес ленты, в логических или абсолютных блоках.

DWORD GetTapePosition(

РУЧКА hDevice, // ручка открытого устройства DWORD dwPositionType, // типа адреса, чтобы получать LPDWORD lpdwPartition, // адрес текущего раздела ленты LPDWORD lpdwOffsetLow, // адрес младших 32 битов ленты позиционирует адрес LPDWORD lpdwOffsetHigh // старших 32 битов позиции ленты
);


Параметры

hDevice

Идентифицирует устройство к чему получать позицию ленты. Эта ручка создана использованием CreateFile.

dwPositionType

Определяет тип адреса, чтобы получать. Этот параметр может быть одним из следующего величин:

Описание Величины
TAPE_ABSOLUTE_POSITION lpdwOffsetLow и параметры lpdwOffsetHigh получают зависящий от устройства блочный адрес. Параметр dwPartition получает нуль.
TAPE_LOGICAL_POSITION lpdwOffsetLow и параметры lpdwOffsetHigh получают логический блочный адрес. Параметр dwPartition получает логический раздел ленты.


lpdwPartition

Точки на переменную, которые получают номер текущего раздела ленты. Разделы перечислены logically с 1 через n, где 1 - первый раздел на ленте и n последнее. Когда зависящий от устройства блочный адрес извлечен, или если устройство поддерживает только один раздел, этот параметр получает нуль.

lpdwOffsetLow

Точки на переменную, которые получают младшие 32 бита текущей позиции ленты.

lpdwOffsetHigh

Точки на переменную, которые получают старшие 32 бита текущей позиции ленты. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН если старшие 32 бита не потребовались.



Обратные Величины

Если функция добивается успеха, обратная величина - NO_ERROR.
Если функция терпит неудачу, обратная величина - один из следующих кодов ошибки:

Описание кода Ошибки
ERROR_BEGINNING_OF_MEDIA попытка, чтобы иметь доступ к данным прежде, чем начало--среднего маркера потерпело неудачу.
ERROR_BUS_RESET условие сброса было обнаружено в шине.
ERROR_END_OF_MEDIA конец--маркера ленты был достигнут в течение операции.
ERROR_FILEMARK_DETECTED filemark было достигнуто в течение операции.
ERROR_SETMARK_DETECTED setmark было достигнуто в течение операции.
ERROR_NO_DATA_DETECTED конец--маркера данных был достигнут в течение операции.
ERROR_PARTITION_FAILURE лента не могла разделена.
ERROR_INVALID_BLOCK_LENGTH блочный размер неправильный на новой ленте во многотомном разделе.
ERROR_DEVICE_NOT_PARTITIONED информация раздела не могла обнаруживана когда лента загружалась.
ERROR_MEDIA_CHANGED лента, которая была в накопителе заменен или удален.
ERROR_NO_MEDIA_IN_DRIVE Нет носителя в накопителе.
ERROR_NOT_SUPPORTED драйвер ленты не поддерживает запрошенную функцию.
ERROR_UNABLE_TO_LOCK_MEDIA попытка, чтобы запирать неудачный механизм выбрасывания.
ERROR_UNABLE_TO_UNLOAD_MEDIA попытка, чтобы снимать неудачную ленту.
ERROR_WRITE_PROTECT носитель является записью защищенной.


Замечания

Логический блочный адрес - относительно раздела. Первый логический блочный адрес в каждом разделе нулевой.
Назовите функцию GetTapeParameters, чтобы получать информации о статусе, возможностях, и возможностях накопителей ленты и носителя.

Смотри Также

CreateFile, GetTapeParameters, SetTapePosition


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz