Compartir a través de


estructura TAPE_SET_POSITION (ntddtape.h)

La estructura TAPE_SET_POSITION se usa junto con la solicitud de IOCTL_TAPE_SET_POSITION para mover la posición actual en la cinta a la partición y 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 está particionado. 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. Se omite el valor del miembro Partition .

TAPE_LOGICAL_BLOCK

Coloca la cinta en la dirección de bloque lógico 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 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 está particionado, 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 establecimiento 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 establecimiento, Offset especifica el número que se 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 establecimiento en posición, un valor positivo N en el desplazamiento provoca un posicionamiento hacia delante sobre los bloques N, las marcas de archivo o las marcas de establecimiento, la detención en el lado final de la partición o el extremo de cinta del bloque, la marca de archivo o la marca de establecimiento. Un valor cero en el desplazamiento no produce ningún cambio de posición. Un valor negativo N en el desplazamiento hace que el posicionamiento inverso, hacia el principio de la partición o el medio de cinta, sobre N bloques, marcas de archivo o marcas de establecimiento, se detenga en el lado inicial de la partición de un bloque, marca de archivo o marca de establecimiento.

Requisitos

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

Consulte también

IOCTL_TAPE_SET_POSITION

TapeMiniSetPosition