EraseTape 関数 (winbase.h)

EraseTape 関数は、テープの全部または一部を消去します。

構文

DWORD EraseTape(
  [in] HANDLE hDevice,
  [in] DWORD  dwEraseType,
  [in] BOOL   bImmediate
);

パラメーター

[in] hDevice

テープを消去するデバイスに取り扱います。 このハンドルは、 CreateFile 関数を使用して作成されます。

[in] dwEraseType

消去手法。 このパラメーターには、次の値のいずれかを指定できます。

値 意味
TAPE_ERASE_LONG
1L
現在の位置から現在のパーティションの末尾までテープを消去します。
TAPE_ERASE_SHORT
0L
現在の位置に消去ギャップまたはデータ終了マーカーを書き込みます。

[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
操作中に filemark に達しました。
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