共用方式為


WriteTapemark 函式 (winbase.h)

WriteTapemark 函式會將指定的檔案標記、setmark、簡短檔案標記或長文件標記寫入磁帶裝置。 這些磁帶標記會將磁帶分割區分割成較小的區域。

語法

DWORD WriteTapemark(
  [in] HANDLE hDevice,
  [in] DWORD  dwTapemarkType,
  [in] DWORD  dwTapemarkCount,
  [in] BOOL   bImmediate
);

參數

[in] hDevice

處理要寫入磁帶標記的裝置。 此句柄是使用 CreateFile 函式所建立。

[in] dwTapemarkType

要寫入的磁帶標記類型。 此參數可以是下列其中一個值。

意義
TAPE_FILEMARKS
1L
寫入 dwTapemarkCount 參數所指定的檔案標記數目。
TAPE_LONG_FILEMARKS
3L
寫入 dwTapemarkCount 所指定的長檔案標記數目。
TAPE_SETMARKS
0L
寫入 dwTapemarkCount 所指定的 setmark 數目。
TAPE_SHORT_FILEMARKS
2L
寫入 dwTapemarkCount 所指定的簡短檔案標記數目。

[in] dwTapemarkCount

要寫入的磁帶標記數目。

[in] bImmediate

如果此參數為 TRUE,函式會立即傳回;如果為 FALSE,則函式不會在作業完成之前傳回。

傳回值

如果函式成功,傳回值會NO_ERROR。

如果函式失敗,它可以傳回下列其中一個錯誤碼。

錯誤 Description
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
媒體受到寫入保護。

備註

Filemarks、setmarks、short filemark 和 long filemarks 是代表磁帶線性組織的特殊記錄元素。 這些標記不包含用戶數據。 Filemark 是最常見的標記;setmarks 提供檔案標記無法使用的階層。

短檔案標記包含一個短清除間距,除非從分割區開頭執行寫入作業,或從較早長的檔標記執行,否則無法覆寫。

長檔案標記包含長清除間距,可讓應用程式將磁帶放在文件標記的開頭,並覆寫檔案標記和清除間距。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CreateFile