次の方法で共有


TAPE_SET_POSITION 構造体 (ntddtape.h)

TAPE_SET_POSITION構造体は、テープ上の現在位置を指定されたパーティションおよびオフセットに移動するために、 IOCTL_TAPE_SET_POSITION 要求と組み合わせて使用されます。

構文

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

メンバー

Method

実行する配置の種類を示します。 このメンバーには、次のいずれかの値が必要です。

TAPE_REWIND

メディアがパーティション分割されている場合は パーティション の先頭に、メディアがパーティション分割されていない場合はメディアの先頭にテープを配置します。 メディアがパーティション分割されていない場合は、 パーティションを 0 に設定する必要があります。 Offset メンバーは無視されます。

TAPE_ABSOLUTE_BLOCK

Offset で指定された先頭からのオフセットにある絶対ブロック アドレスにテープを配置 しますPartition メンバーの値は無視されます。

TAPE_LOGICAL_BLOCK

[パーティション] に示されているパーティションの先頭を基準にして、Offset で指定された論理ブロック アドレスにテープを配置します。 メディアがパーティション分割されていない場合は、 パーティションを 0 に設定する必要があります。

TAPE_PSEUDO_LOGICAL_BLOCK

Partition に示されているパーティションの先頭を基準にして、 Offset で指定された擬似ブロック アドレスにテープを配置 します。 メディアがパーティション分割されていない場合、 パーティション は 0 にする必要があります。

TAPE_SPACE_END_OF_DATA

[ パーティション] に示されているパーティションの末尾、またはメディアがパーティション分割されていない場合は、テープの末尾にテープを配置します。 Offset メンバーは無視されます。

TAPE_SPACE_RELATIVE_BLOCKS

現在位置から始めて、Offset で指定されたブロック数の直後にテープを配置 しますPartition メンバーは無視されます。

TAPE_SPACE_FILEMARKS

現在の位置から始めて、Offset で指定されたファイル マークの数の直後にテープを配置 しますPartition メンバーは無視されます。

TAPE_SPACE_SEQUENTIAL_FMKS

現在の位置から開始して、Offset で指定された連続するファイル マークの数の次の出現の直後にテープを配置 します (存在する場合)。 Partition メンバーは無視されます。

TAPE_SPACE_SETMARKS

現在位置から始めて、Offset で指定された設定マークの数の直後にテープを配置 しますPartition メンバーは無視されます。

TAPE_SPACE_SEQUENTIAL_SMKS

現在の位置から開始して、Offset で指定された連続する設定マークの数が次に出現する場合は、その直後にテープを配置 しますPartition メンバーは無視されます。

Partition

テープの位置を設定するパーティションを示します。 このメンバーには、次のいずれかの値が必要です。

NOT_PARTITIONED (または 0)
DATA_PARTITION
DIRECTORY_PARTITION

メディアがパーティション分割されていない場合、このメンバーは 0 になります。

Offset

Method の値に依存する型のオフセットを指定 します。 指定したメソッドがテープをブロック アドレスに配置する場合、 Offset は指定したパーティションへのバイト オフセットを指定します。 指定したメソッドがブロック、ファイル マーク、または設定マークをスキップする場合、 Offset はスキップする番号を指定します。 Offset が 0 の場合、テープはパーティションの先頭に配置されます。

Immediate

TRUE に設定すると、ターゲット デバイスがすぐに状態を返す必要があることを示します。 FALSE に設定すると、操作の完了後にデバイスが状態を返す必要があることを示します。

注釈

ドライブまたはテープでは、 すべてのメソッド 値がサポートされない場合があることに注意してください。

パーティションには、論理的に 1 から N の番号が付されます。ただし、パーティション番号は、テープ上の物理的な位置を意味するものではありません。 たとえば、パーティション番号 1 がメディアの先頭にない場合があります。

オフセットで位置指定するブロック、ファイルマーク、または設定マークの数が指定されている場合、オフセットの正の値 N を指定すると、N 個のブロック、ファイルマーク、または設定マークに対する前方配置が発生し、ブロック、ファイルマーク、または setmark のパーティションの終わり側またはテープの終わり側で停止します。 オフセットの値が 0 の場合、位置は変更されません。 オフセットに負の値 N を指定すると、N 個のブロック、ファイルマーク、または設定マークを超えて、パーティションまたはテープ メディアの先頭に向かって逆の位置が発生し、ブロック、ファイル マーク、または setmark のパーティションの先頭側で停止します。

要件

要件
Header ntddtape.h (Ntddtape.h、Minitape.h を含む)

こちらもご覧ください

IOCTL_TAPE_SET_POSITION

TapeMiniSetPosition