Compartir a través de


estructura TAPE_SET_POSITION (minitape.h)

La estructura TAPE_SET_POSITION se usa junto con la solicitud IOCTL_TAPE_SET_POSITION para mover la posición actual en la cinta a la partición y el desplazamiento especificados.

Sintaxis

typedef struct _TAPE_SET_POSITION {
  ULONG         Method;
  ULONG         Partition;
  LARGE_INTEGER Offset;
  BOOLEAN       Immediate;
} TAPE_SET_POSITION, *PTAPE_SET_POSITION;

Miembros

Method

Indica el tipo de posicionamiento que se va a realizar. Este miembro debe tener uno de los siguientes valores:

TAPE_REWIND

Coloca la cinta al principio de la partición indicada en Partición si el medio está particionado y al principio del medio si el medio no tiene particiones. Si el medio no tiene particiones, la partición debe establecerse en cero. Se omite el miembro Offset .

TAPE_ABSOLUTE_BLOCK

Coloca la cinta en la dirección de bloque absoluta situada en el desplazamiento desde el principio especificado por Offset. El valor del miembro Partition se omite.

TAPE_LOGICAL_BLOCK

Coloca la cinta en la dirección de bloque lógica especificada por Offset, en relación con el principio de la partición indicada en Partición. Si el medio no tiene particiones, la partición debe establecerse en cero.

TAPE_PSEUDO_LOGICAL_BLOCK

Coloca la cinta en la dirección de bloque pseudológica especificada por Offset, con respecto al principio de la partición indicada en Partición. Si el medio no tiene particiones, la partición debe ser cero.

TAPE_SPACE_END_OF_DATA

Coloca la cinta al final de la partición indicada en Partición, o si el medio no tiene particiones, al final de la cinta. Se omite el miembro Offset .

TAPE_SPACE_RELATIVE_BLOCKS

A partir de la posición actual, coloca la cinta inmediatamente después del número de bloques especificados por Offset. Se omite el miembro Partition .

TAPE_SPACE_FILEMARKS

A partir de la posición actual, coloca la cinta inmediatamente después del número de marcas de archivo especificadas por Offset. Se omite el miembro Partition .

TAPE_SPACE_SEQUENTIAL_FMKS

A partir de la posición actual, coloca la cinta inmediatamente después de la siguiente aparición, si existe, del número de marcas de archivo consecutivas especificadas por Offset. Se omite el miembro Partition .

TAPE_SPACE_SETMARKS

A partir de la posición actual, coloca la cinta inmediatamente después del número de marcas de conjunto especificadas por Offset. Se omite el miembro Partition .

TAPE_SPACE_SEQUENTIAL_SMKS

A partir de la posición actual, coloca la cinta inmediatamente después de la siguiente aparición, si existe, del número de marcas de conjunto consecutivas especificadas por Offset. Se omite el miembro Partition .

Partition

Indica la partición en la que se va a establecer la posición de la cinta. Este miembro debe tener uno de los siguientes valores:

NOT_PARTITIONED (o cero)
DATA_PARTITION
DIRECTORY_PARTITION

Si el medio no tiene particiones, este miembro es cero.

Offset

Especifica un desplazamiento cuyo tipo depende del valor de Method. Si el método especificado coloca la cinta en una dirección de bloque, Offset especifica el desplazamiento de bytes en la partición especificada. Si el método especificado es omitir bloques, marcas de archivo o marcas de conjunto, Offset especifica el número que se va a omitir. Si Offset es cero, la cinta se coloca al principio de la partición.

Immediate

Cuando se establece en TRUE, indica que el dispositivo de destino debe devolver el estado inmediatamente. Cuando se establece en FALSE, indica que el dispositivo debe devolver el estado una vez completada la operación.

Comentarios

Tenga en cuenta que es posible que una unidad o una cinta no admitan todos los valores de Method .

Las particiones se numeran lógicamente de 1 a N. Sin embargo, un número de partición no implica una posición física en la cinta. Por ejemplo, es posible que el número de partición uno no esté al principio del medio.

Cuando el desplazamiento especifica una serie de bloques, marcas de archivo o marcas de conjunto en las que colocar, un valor positivo N en el desplazamiento hace que el posicionamiento hacia delante sobre bloques N, marcas de archivo o marcas de conjunto, se detenga en el lado final de la partición o el extremo de cinta del bloque, la marca de archivo o la marca de conjunto. Un valor cero en el desplazamiento no produce ningún cambio de posición. Un valor negativo N en el desplazamiento provoca una posición inversa, hacia el principio de la partición o el medio de cinta, sobre bloques N, marcas de archivo o marcas de conjunto, que se detiene en el lado inicial de la partición de un bloque, marca de archivo o marca de conjunto.

Requisitos

Requisito Valor
Header minitape.h (incluya Ntddtape.h, Minitape.h)

Consulte también

IOCTL_TAPE_SET_POSITION

TapeMiniSetPosition