Share via


Função GetTapePosition (winbase.h)

A função GetTapePosition recupera o endereço atual da fita, em blocos lógicos ou absolutos.

Sintaxe

DWORD GetTapePosition(
  [in]  HANDLE  hDevice,
  [in]  DWORD   dwPositionType,
  [out] LPDWORD lpdwPartition,
  [out] LPDWORD lpdwOffsetLow,
  [out] LPDWORD lpdwOffsetHigh
);

Parâmetros

[in] hDevice

Manipule para o dispositivo no qual obter a posição da fita. Esse identificador é criado usando CreateFile.

[in] dwPositionType

Tipo de endereço a ser obtido. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
TAPE_ABSOLUTE_POSITION
0L
Os parâmetros lpdwOffsetLow e lpdwOffsetHigh recebem o endereço de bloco específico do dispositivo. O parâmetro dwPartition recebe zero.
TAPE_LOGICAL_POSITION
1L
Os parâmetros lpdwOffsetLow e lpdwOffsetHigh recebem o endereço de bloco lógico. O parâmetro dwPartition recebe a partição de fita lógica.

[out] lpdwPartition

Ponteiro para uma variável que recebe o número da partição de fita atual. As partições são numeradas logicamente de 1 a n, em que 1 é a primeira partição na fita e n é a última. Quando um endereço de bloco específico do dispositivo é recuperado ou se o dispositivo dá suporte a apenas uma partição, esse parâmetro recebe zero.

[out] lpdwOffsetLow

Ponteiro para uma variável que recebe os bits de baixa ordem da posição da fita atual.

[out] lpdwOffsetHigh

Ponteiro para uma variável que recebe os bits de alta ordem da posição da fita atual. Esse parâmetro poderá ser NULL se os bits de alta ordem não forem necessários.

Retornar valor

Se a função for bem-sucedida, o valor retornado será NO_ERROR.

Se a função falhar, ela poderá retornar um dos seguintes códigos de erro.

Código do erro Descrição
ERROR_BEGINNING_OF_MEDIA
1102L
Uma tentativa de acessar dados antes do início do marcador médio falhar.
ERROR_BUS_RESET
1111L
Uma condição de redefinição foi detectada no ônibus.
ERROR_DEVICE_NOT_PARTITIONED
1107L
Não foi possível encontrar as informações de partição quando uma fita estava sendo carregada.
ERROR_END_OF_MEDIA
1100L
O marcador de fim de fita foi atingido durante uma operação.
ERROR_FILEMARK_DETECTED
1101L
Uma marca de arquivo foi atingida durante uma operação.
ERROR_INVALID_BLOCK_LENGTH
1106L
O tamanho do bloco está incorreto em uma nova fita em uma partição multivolume.
ERROR_MEDIA_CHANGED
1110L
A fita que estava na unidade foi substituída ou removida.
ERROR_NO_DATA_DETECTED
1104L
O marcador de fim de dados foi atingido durante uma operação.
ERROR_NO_MEDIA_IN_DRIVE
1112L
Não há mídia na unidade.
ERROR_NOT_SUPPORTED
50L
O driver de fita não dá suporte a uma função solicitada.
ERROR_PARTITION_FAILURE
1105L
Não foi possível particionar a fita.
ERROR_SETMARK_DETECTED
1103L
Uma marca de definição foi atingida durante uma operação.
ERROR_UNABLE_TO_LOCK_MEDIA
1108L
Falha ao tentar bloquear o mecanismo de ejeção.
ERROR_UNABLE_TO_UNLOAD_MEDIA
1109L
Falha ao tentar descarregar a fita.
ERROR_WRITE_PROTECT
19L
A mídia está protegida contra gravação.

Comentários

Um endereço de bloco lógico é relativo a uma partição. O primeiro endereço de bloco lógico em cada partição é zero.

Chame a função GetTapeParameters para obter informações sobre a status, funcionalidades e capacidades de unidades de fita e mídia.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CreateFile

GetTapeParameters

SetTapePosition