共用方式為


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
作業期間已達到 setmark。
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)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CreateFile

GetTapeParameters