The WriteTapemark function writes a specified number of filemarks, setmarks, short filemarks, or long filemarks to a tape device. These tapemarks divide a tape partition into smaller areas.
DWORD WriteTapemark(
HANDLE hDevice, |
// handle to open device |
DWORD dwTapemarkType, |
// type of tapemarks to write |
DWORD dwTapemarkCount, |
// number of tapemarks to write |
BOOL bImmediate |
// return after write begins |
); |
Value |
Description |
TAPE_FILEMARKS |
Writes the number of filemarks specified by the dwTapemarkCount parameter. |
TAPE_LONG_FILEMARKS |
Writes the number of long filemarks specified by dwTapemarkCount. |
TAPE_SETMARKS |
Writes the number of setmarks specified by dwTapemarkCount. |
TAPE_SHORT_FILEMARKS |
Writes the number of short filemarks specified by dwTapemarkCount. |
If the function succeeds, the return value is NO_ERROR.
If the function fails, the return value is one of the following error codes:
Error |
Description |
ERROR_BEGINNING_OF_MEDIA |
An attempt to access data before the beginning-of-medium marker failed. |
ERROR_BUS_RESET |
A reset condition was detected on the bus. |
ERROR_END_OF_MEDIA |
The end-of-tape marker was reached during an operation. |
ERROR_FILEMARK_DETECTED |
A filemark was reached during an operation. |
ERROR_SETMARK_DETECTED |
A setmark was reached during an operation. |
ERROR_NO_DATA_DETECTED |
The end-of-data marker was reached during an operation. |
ERROR_PARTITION_FAILURE |
The tape could not be partitioned. |
ERROR_INVALID_BLOCK_LENGTH |
The block size is incorrect on a new tape in a multivolume partition. |
ERROR_DEVICE_NOT_PARTITIONED |
The partition information could not be found when a tape was being loaded. |
ERROR_MEDIA_CHANGED |
The tape that was in the drive has been replaced or removed. |
ERROR_NO_MEDIA_IN_DRIVE |
There is no media in the drive. |
ERROR_NOT_SUPPORTED |
The tape driver does not support a requested function. |
ERROR_UNABLE_TO_LOCK_MEDIA |
An attempt to lock the ejection mechanism failed. |
ERROR_UNABLE_TO_UNLOAD_MEDIA |
An attempt to unload the tape failed. |
ERROR_WRITE_PROTECT |
The media is write protected. |
Filemarks, setmarks, short filemarks, and long filemarks are special recorded elements that denote the linear organization of the tape. None of these marks contain user data. Filemarks are the most general marks; setmarks provide a hierarchy not available with filemarks.
A short filemark contains a short erase gap that cannot be overwritten unless the write operation is performed from the beginning of the partition or from an earlier long filemark.
A long filemark contains a long erase gap that allows an application to position the tape at the beginning of the filemark and to overwrite the filemark and the erase gap.