TAPE_SET_POSITION構造体 (minitape.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
メディアがパーティション分割されている場合は Partition で示されているパーティションの先頭に、メディアがパーティション分割されていない場合はメディアの先頭にテープを配置します。 メディアがパーティション分割されていない場合は、パーティション を 0 に設定する必要があります。 Offset メンバーは無視されます。
TAPE_ABSOLUTE_BLOCK
Offsetで指定された先頭からのオフセットにある絶対ブロック アドレスにテープを配置します。 Partition メンバーの値は無視されます。
TAPE_LOGICAL_BLOCK
オフセットで指定された論理ブロック アドレスにテープを配置します。これは、パーティションで示されているパーティションの先頭を基準にして行います。 メディアがパーティション分割されていない場合は、パーティション を 0 に設定する必要があります。
TAPE_PSEUDO_LOGICAL_BLOCK
パーティション で示されているパーティションの先頭を基準に、Offsetで指定された擬似ブロック アドレスにテープ配置します。 メディアがパーティション分割されていない場合は、パーティション ゼロにする必要があります。
TAPE_SPACE_END_OF_DATA
Partitionで示されているパーティションの末尾、またはメディアがパーティション分割されていない場合は、テープの末尾にテープを配置します。 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 (またはゼロ)
- DATA_PARTITION
- DIRECTORY_PARTITION
メディアがパーティション分割されていない場合、このメンバーは 0 になります。
Offset
メソッド の値に依存する型オフセットを指定します。 指定したメソッドがテープをブロック アドレスに配置する場合、Offset は、指定したパーティションへのバイト オフセットを指定します。 指定したメソッドがブロック、ファイル マーク、または設定マークをスキップする場合は、スキップする数 Offset で指定します。 オフセット がゼロの場合、テープはパーティションの先頭に配置されます。
Immediate
TRUE に設定すると、ターゲット デバイスはすぐに状態を返す必要があることを示します。 FALSE をに設定すると、操作の完了後にデバイスが状態を返す必要があることを示します。
備考
ドライブまたはテープでは、すべての メソッドの 値がサポートされない場合があることに注意してください。
パーティションには、論理的に 1 から N の番号が付けられます。ただし、パーティション番号は、テープ上の物理的な位置を意味するものではありません。 たとえば、パーティション番号 1 がメディアの先頭にない場合があります。
オフセットで複数のブロック、ファイルマーク、またはセットマークの位置を指定した場合、オフセットの正の値 N を指定すると、N 個のブロック、ファイルマーク、または設定マークに対する前方配置が発生し、ブロック、ファイルマーク、または設定マークのパーティションの終わりまたはテープの終わり側で停止します。 オフセットの値が 0 の場合、位置は変更されません。 オフセットの負の値 N を指定すると、N ブロック、ファイル マーク、または設定マークを超えて、パーティションまたはテープ メディアの先頭に向かって逆の位置が発生し、ブロック、ファイル マーク、または設定マークのパーティションの先頭側で停止します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | minitape.h (Ntddtape.h、Minitape.h を含む) |