Share via


PrepareTape 関数 (winbase.h)

PrepareTape 関数は、アクセスまたは削除するテープを準備します。

構文

DWORD PrepareTape(
  [in] HANDLE hDevice,
  [in] DWORD  dwOperation,
  [in] BOOL   bImmediate
);

パラメーター

[in] hDevice

テープを準備しているデバイスを処理します。 このハンドルは、 CreateFile 関数を使用して作成されます。

[in] dwOperation

テープ デバイスの準備。 このパラメーターには、次の値のいずれかを指定できます。

説明
TAPE_FORMAT
5L
テープの低レベル形式を実行します。 現時点では、QIC117 デバイスのみがこの機能をサポートしています。
TAPE_LOAD
0L
テープを読み込み、テープを先頭に移動します。
TAPE_LOCK
3L
テープが誤って取り出されないように、テープ排出機構をロックします。
TAPE_TENSION
2L
テープをテープの端に移動し、先頭に戻すことでテンションを調整します。 このオプションは、すべてのデバイスでサポートされているわけではありません。 この値は、サポートされていない場合は無視されます。
TAPE_UNLOAD
1L
デバイスから取り外すためにテープを先頭に移動します。 アンロード操作が成功した後、テープが再び読み込まれるまで、デバイスはテープへのアクセスを試みるアプリケーションにエラーを返します。
TAPE_UNLOCK
4L
テープ排出機構のロックを解除します。

[in] bImmediate

このパラメーターが TRUE の場合、関数は直ちにを返します。 FALSE の場合、関数は操作が完了するまで戻りません。

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が失敗した場合は、次のいずれかのエラー コードを返すことができます。

エラー 説明
ERROR_BEGINNING_OF_MEDIA
1102L
中から始まるマーカーの前にデータにアクセスしようとしましたが失敗しました。
ERROR_BUS_RESET
1111L
バスでリセット条件が検出されました。
ERROR_DEVICE_NOT_PARTITIONED
1107L
テープがロードされているときにパーティション情報が見つかりませんでした。
ERROR_END_OF_MEDIA
1100L
操作中にテープの終わりマーカーに達しました。
ERROR_FILEMARK_DETECTED
1101L
操作中にファイルマークに達しました。
ERROR_INVALID_BLOCK_LENGTH
1106L
マルチボリューム・パーティション内の新規テープでは、ブロック・サイズが正しくありません。
ERROR_MEDIA_CHANGED
1110L
ドライブにあったテープが交換または取り外されました。
ERROR_NO_DATA_DETECTED
1104L
操作中にデータの終了マーカーに達しました。
ERROR_NO_MEDIA_IN_DRIVE
1112L
ドライブにメディアがありません。
ERROR_NOT_SUPPORTED
50L
テープ ドライバーは、要求された関数をサポートしていません。
ERROR_PARTITION_FAILURE
1105L
テープをパーティション分割できませんでした。
ERROR_SETMARK_DETECTED
1103L
操作中に設定マークに達しました。
ERROR_UNABLE_TO_LOCK_MEDIA
1108L
排出機構をロックできませんでした。
ERROR_UNABLE_TO_UNLOAD_MEDIA
1109L
テープをアンロードできませんでした。
ERROR_WRITE_PROTECT
19L
メディアの書き込みが禁止されています。

解説

一部のテープ デバイスでは、特定のテープ操作がサポートされていません。 テープ デバイスのドキュメントを参照し、 GetTapeParameters 関数を使用してテープ デバイスの機能を確認します。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

CreateFile

GetTapeParameters