На главную

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 | Скачать Вниз

SetTapePosition



The SetTapePosition sets the tape position on the specified device.

DWORD SetTapePosition(

HANDLE hDevice, // handle of open device
DWORD dwPositionMethod, // type of positioning to perform
DWORD dwPartition, // new tape partition
DWORD dwOffsetLow, // low-order 32 bits of tape position
DWORD dwOffsetHigh, // high-order 32 bits of tape position
BOOL bImmediate // return after operation begins
);


Parameters

hDevice

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

dwPositionMethod

Specifies the type of positioning to perform. This parameter must be one of the following values:

Value Meaning
TAPE_ABSOLUTE_BLOCK Moves the tape to the device-specific block address specified by the dwOffsetLow and dwOffsetHigh parameters. The dwPartition parameter is ignored.
TAPE_LOGICAL_BLOCK Moves the tape to the block address specified by dwOffsetLow and dwOffsetHigh in the partition specified by dwPartition.
TAPE_REWIND Moves the tape to the beginning of the current partition. The dwPartition, dwOffsetLow, and dwOffsetHigh parameters are ignored.
TAPE_SPACE_END_OF_DATA Moves the tape to the end of the data on the partition specified by dwPartition.
TAPE_SPACE_FILEMARKS Moves the tape forward (or backward) the number of filemarks specified by dwOffsetLow and dwOffsetHigh in the current partition. The dwPartition parameter is ignored.
TAPE_SPACE_RELATIVE_BLOCKS Moves the tape forward (or backward) the number of blocks specified by dwOffsetLow and dwOffsetHigh in the current partition. The dwPartition parameter is ignored.
TAPE_SPACE_SEQUENTIAL_FMKS Moves the tape forward (or backward) to the first occurrence of n filemarks in the current partition, where n is the number specified by dwOffsetLow and dwOffsetHigh. The dwPartition parameter is ignored.
TAPE_SPACE_SEQUENTIAL_SMKS Moves the tape forward (or backward) to the first occurrence of n setmarks in the current partition, where n is the number specified by dwOffsetLow and dwOffsetHigh. The dwPartition parameter is ignored.

TAPE_SPACE_SETMARKS Moves the tape forward (or backward) the number of setmarks specified by dwOffsetLow and dwOffsetHigh in the current partition. The dwPartition parameter is ignored.


dwPartition

Specifies the partition to position within. If dwPartition is zero, the current partition is used. Partitions are numbered logically from 1 through n, where 1 is the first partition on the tape and n is the last.

dwOffsetLow

Specifies the low-order 32 bits of the block address or count for the position operation specified by the dwPositionMethod parameter.

dwOffsetHigh

Specifies the high-order 32 bits of the block address or count for the position operation specified by the dwPositionMethod parameter. If the high-order 32 bits are not required, this parameter should be zero.

bImmediate

Indicates whether to return as soon as the move operation begins. If this parameter is TRUE, the function returns immediately; if FALSE, the function does not return until the move operation has been completed.



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 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

If the offset specified by dwOffsetLow and dwOffsetHigh specifies the number of blocks, filemarks, or setmarks to move, a positive offset moves the tape forward to the end of the last block, filemark, or setmark. A negative offset moves the tape backward to the beginning of the last block, filemark, or setmark. If the offset is zero, the tape does not move.
To obtain information about the status, capabilities, and capacities of tape drives and media, call the GetTapeParameters function.

See Also

CreateFile, GetTapeParameters, GetTapePosition


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

SetTapePosition



SetTapePosition Устанавливает позицию ленты на определенном устройстве.

DWORD SetTapePosition(

РУЧКА hDevice, // ручка открытого устройства DWORD dwPositionMethod, // типа позиционирования, чтобы выполнять DWORD dwPartition, // новый раздел ленты DWORD dwOffsetLow, // младшие 32 бита позиции ленты DWORD dwOffsetHigh, // старшие 32 бита позиции ленты BOOL bImmediate // возврат после того, как действие начнется
);


Параметры

hDevice

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

dwPositionMethod

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

Значение Величины
TAPE_ABSOLUTE_BLOCK Перемещает ленту на зависящий от устройства блочный адрес определенный dwOffsetLow и параметрами dwOffsetHigh. Параметр dwPartition проигнорирован.
TAPE_LOGICAL_BLOCK Перемещает ленту на блочный адрес определенный dwOffsetLow и dwOffsetHigh в разделе определенном dwPartition.
TAPE_REWIND Перемещает ленту на начало текущего раздела. dwPartition, dwOffsetLow, И параметры dwOffsetHigh проигнорированы.
TAPE_SPACE_END_OF_DATA Перемещает ленту на конец данных о разделе определенном dwPartition.
TAPE_SPACE_FILEMARKS Перемещает форварда ленты (или назад) число filemarks определенное dwOffsetLow и dwOffsetHigh в текущем разделе. Параметр dwPartition проигнорирован.
TAPE_SPACE_RELATIVE_BLOCKS Перемещает форварда ленты (или назад), который количество блоков определялось dwOffsetLow и dwOffsetHigh в текущем разделе. Параметр dwPartition проигнорирован.
TAPE_SPACE_SEQUENTIAL_FMKS Перемещает форварда ленты (или назад) на первое появление n filemarks в текущем разделе, где n - число определенное dwOffsetLow и dwOffsetHigh. Параметр dwPartition проигнорирован.
TAPE_SPACE_SEQUENTIAL_SMKS Перемещает форварда ленты (или назад) на первое появление n setmarks в текущем разделе, где n - число определенное dwOffsetLow и dwOffsetHigh. Параметр dwPartition проигнорирован.

TAPE_SPACE_SETMARKS Перемещает форварда ленты (или назад) число setmarks определенное dwOffsetLow и dwOffsetHigh в текущем разделе. Параметр dwPartition проигнорирован.


dwPartition

Определяет раздел, чтобы позиционировать в пределах. Если dwPartition - нуль, текущий раздел использован. Разделы перечислены logically с 1 через n, где 1 - первый раздел на ленте и n последнее.

dwOffsetLow

Определяет младшие 32 бита блока адресовать или имеет значение операцию позиции определенную параметром dwPositionMethod.

dwOffsetHigh

Определяет старшие 32 бита блока адресовать или имеет значение операцию позиции определенную параметром dwPositionMethod. Если старшие 32 бита не потребовались, этот параметр должен - нулевым.

bImmediate

Указывает возвращаться как только операция перемещения начнется. Если этот параметр - ИСТИНА, функциональный возврат немедленно; если ЛОЖЬ, функция не возвращается пока операция перемещения не завершена.



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

Если функция добивается успеха, обратная величина - 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 носитель является записью защищенной.


Замечания

Если смещение определялось бы dwOffsetLow и dwOffsetHigh определяет количество блоков, filemarks, или setmarks, чтобы перемещаться, положительное смещение перемещает форварда ленты концу последнего блока, filemark, или setmark. Отрицательное смещение перемещает ленту отсталую на начало последнего блока, filemark, или setmark. Если смещение является нулем, лента не перемещается.
Для того, чтобы получать информации о статусе, возможностях, и возможности накопителей ленты и носителя, назовите функцию GetTapeParameters.

Смотри Также

CreateFile, GetTapeParameters, GetTapePosition


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