Platform SDK: Files and I/O

GetTapeStatus

The GetTapeStatus function determines whether the tape device is ready to process tape commands.

DWORD GetTapeStatus(
  HANDLE hDevice   // handle to device
);

Parameters

hDevice
[in] Handle to the device for which to get the device status. This handle is created by using the CreateFile function.

Return Values

If the tape device is ready to accept appropriate tape-access commands without returning errors, the return value is NO_ERROR.

If the function fails, the return value is one of the following error codes:

Error code 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_DEVICE_NOT_PARTITIONED The partition information could not be found when a tape was being loaded.
ERROR_DEVICE_REQUIRES_CLEANING The tape drive is capable of reporting that it requires cleaning, and reports that it does require cleaning.
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_INVALID_BLOCK_LENGTH The block size is incorrect on a new tape in a multivolume partition.
ERROR_MEDIA_CHANGED The tape that was in the drive has been replaced or removed.
ERROR_NO_DATA_DETECTED The end-of-data marker was reached during an operation.
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_PARTITION_FAILURE The tape could not be partitioned.
ERROR_SETMARK_DETECTED A setmark was reached during an operation.
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.

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Header: Declared in Winbase.h; include Windows.h.
  Library: Use Kernel32.lib.

See Also

Tape Backup Overview, Tape Backup Functions, CreateFile