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 を含む) |