テープの一部、またはすべてを消去する
Declare Function EraseTape Lib "kernel32.dll" _
(ByVal hDevice As Long, ByVal dwEraseType As Long, _
ByVal bimmediate As Long ) As Long
Declare Function EraseTape Lib "kernel32.dll" _
(ByVal hDevice As Integer, ByVal dwEraseType As Integer, _
ByVal bimmediate As Integer ) As Integer
DWORD EraseTape(
HANDLE hDevice,
DWORD dwEraseType,
BOOL bImmediate
);
引数
hDevice
テープデバイスのハンドル(CreateFile()関数の戻り値)dwEraseType
消去方法を指定定数の一つbimmediate
0のとき 操作が終了するまで関数は帰らない戻り値
1のとき 操作が終了する前に帰る
正常終了のとき NO_ERROR(=0)備考
エラーのとき エラーを示す定数
テープデバイスによってはサポートされていないテープ操作があるdwEraseTypeの定数
GetTapeParameters()関数を参照
エラーコードを示す定数
Const TAPE_ERASE_LONG 'テープをカレントポジションから
'現在のパーティションの終端まで消去
Const TAPE_ERASE_SHORT 'カレントポジションに消去ギャップ
'または「データの終端」マーカーを書き込む
Const ERROR_BEGINNING_OF_MEDIA = 1102& '「メディアの先頭」マーカーより前にあるデータに
'アクセスしようとした
Const ERROR_BUS_RESET = 1111& 'バスがリセット状態になっている
Const ERROR_END_OF_MEDIA = 1100& '操作中に「テープの終端」マーカーに到達した
Const ERROR_FILEMARK_DETECTED = 1101& '操作中にファイルマークに到達した
Const ERROR_SETMARK_DETECTED = 1103& '操作中にセットマークに到達した
Const ERROR_NO_DATA_DETECTED = 1104& '操作中に「データの終端」マーカーに到達した
Const ERROR_PARTITION_FAILURE = 1105& 'テープ内にパーティションを作成できなかった
Const ERROR_INVALID_BLOCK_LENGTH = 1106& 'マルチボリュームパーティションの新しいテープの
'ブロックサイズが間違っている
Const ERROR_DEVICE_NOT_PARTITIONED = 1107& 'テープ内にパーティションが見つからなかった
Const ERROR_MEDIA_CHANGED = 1110& 'ドライブ内のテープが取り替えられた or 取り出された
Const ERROR_NO_MEDIA_IN_DRIVE = 1112& 'メディアがセットされていない
Const ERROR_NOT_SUPPORTED = 50& '関数がサポートされていない
Const ERROR_UNABLE_TO_LOCK_MEDIA = 1108& 'テープをロックできなかった
Const ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109& 'テープのアンロードに失敗した
Const ERROR_WRITE_PROTECT = 19& 'メディアが書込み禁止状態