Partager via


TAPE_SET_POSITION structure (minitape.h)

La structure TAPE_SET_POSITION est utilisée conjointement avec la demande IOCTL_TAPE_SET_POSITION pour déplacer la position actuelle sur la bande vers la partition et le décalage spécifiés.

Syntaxe

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

Membres

Method

Indique le type de positionnement à effectuer. Ce membre doit avoir l’une des valeurs suivantes :

TAPE_REWIND

Positionne la bande au début de la partition indiquée dans Partition si le média est partitionné, et au début du média si le média n’est pas partitionné. Si le média n’est pas partitionné, partition doit être défini sur zéro. Le membre Offset est ignoré.

TAPE_ABSOLUTE_BLOCK

Positionne la bande à l’adresse de bloc absolue située au décalage par rapport au début spécifié par Offset. La valeur dans le membre Partition est ignorée.

TAPE_LOGICAL_BLOCK

Positionne la bande sur l’adresse de bloc logique spécifiée par Offset, par rapport au début de la partition indiquée dans Partition. Si le média n’est pas partitionné, partition doit être défini sur zéro.

TAPE_PSEUDO_LOGICAL_BLOCK

Positionne la bande sur l’adresse de bloc pseudo-logique spécifiée par Offset, par rapport au début de la partition indiquée dans Partition. Si le média n’est pas partitionné, partition doit être égal à zéro.

TAPE_SPACE_END_OF_DATA

Positionne la bande à la fin de la partition indiquée dans Partition, ou si le média n’est pas partitionné, à la fin de la bande. Le membre Offset est ignoré.

TAPE_SPACE_RELATIVE_BLOCKS

À partir de la position actuelle, positionne la bande immédiatement après le nombre de blocs spécifié par Offset. Le membre Partition est ignoré.

TAPE_SPACE_FILEMARKS

À partir de la position actuelle, positionne la bande immédiatement après le nombre de repères de fichier spécifié par Offset. Le membre Partition est ignoré.

TAPE_SPACE_SEQUENTIAL_FMKS

À partir de la position actuelle, positionne la bande immédiatement après l’occurrence suivante, le cas échéant, du nombre de repères de fichier consécutifs spécifié par Offset. Le membre Partition est ignoré.

TAPE_SPACE_SETMARKS

À partir de la position actuelle, positionne la bande immédiatement après le nombre de setmarks spécifié par Offset. Le membre Partition est ignoré.

TAPE_SPACE_SEQUENTIAL_SMKS

À partir de la position actuelle, positionne la bande immédiatement après l’occurrence suivante, le cas échéant, du nombre de setmarks consécutifs spécifié par Offset. Le membre Partition est ignoré.

Partition

Indique la partition dans laquelle définir la position de la bande. Ce membre doit avoir l’une des valeurs suivantes :

NOT_PARTITIONED (ou zéro)
DATA_PARTITION
DIRECTORY_PARTITION

Si le média n’est pas partitionné, ce membre est égal à zéro.

Offset

Spécifie un décalage dont le type dépend de la valeur dans La méthode. Si la méthode spécifiée positionne la bande sur une adresse de bloc, Offset spécifie le décalage d’octets dans la partition spécifiée. Si la méthode spécifiée consiste à ignorer des blocs, des repères de fichier ou des setmarks, Offset spécifie le nombre à ignorer. Si Offset est égal à zéro, la bande est positionnée au début de la partition.

Immediate

Lorsqu’il est défini sur TRUE, indique que l’appareil cible doit retourner immédiatement status. Lorsqu’il est défini sur FALSE, indique que l’appareil doit retourner status une fois l’opération terminée.

Remarques

Notez qu’un lecteur ou une bande peut ne pas prendre en charge toutes les valeurs de méthode .

Les partitions sont numérotées logiquement de 1 à N. Toutefois, un numéro de partition n’implique pas une position physique sur la bande. Par exemple, la partition numéro un peut ne pas se trouver au début du média.

Lorsque le décalage spécifie un certain nombre de blocs, de repères de fichier ou de setmarks à placer sur, une valeur positive N dans le décalage entraîne un positionnement vers l’avant sur N blocs, filemarks ou setmarks, s’arrêtant sur le côté fin de la partition ou de la fin de bande du bloc, du filemark ou du setmark. Une valeur zéro dans le décalage n’entraîne aucun changement de position. Une valeur négative N dans le décalage entraîne un positionnement inverse, vers le début de la partition ou du support de bande, sur N blocs, repères de fichier ou setmarks, l’arrêt sur le côté début de la partition d’un bloc, d’un filemark ou d’un setmark.

Configuration requise

Condition requise Valeur
En-tête minitape.h (inclure Ntddtape.h, Minitape.h)

Voir aussi

IOCTL_TAPE_SET_POSITION

TapeMiniSetPosition