GetTapeParameters
The GetTapeParameters
function retrieves information that describes the tape or the tape drive.
DWORD GetTapeParameters(
HANDLE hDevice, |
// handle of open
device |
DWORD dwOperation, |
// type of
information requested |
LPDWORD lpdwSize, |
// address of
returned information |
LPVOID lpTapeInformation |
// tape media or
drive information |
); |
|
Parameters
hDevice
Identifies
the device about which information is sought. This handle is created by using
the CreateFile
dwOperation
Specifies the
type of information requested. This parameter must be one of the following
values:
Value |
Description |
GET_TAPE_MEDIA_INFORMATION |
Retrieves
information about the tape in the tape device. |
GET_TAPE_DRIVE_INFORMATION |
Retrieves
information about the tape device. |
lpdwSize
Points to a
variable that receives the size, in bytes, of the buffer specified by the lpTapeInformation
parameter. If the buffer is too small, this parameter receives the required
size.
lpTapeInformation
Points to a
structure that contains the requested information. If the dwOperation
parameter is GET_TAPE_MEDIA_INFORMATION, lpTapeInformation points to a TAPE_GET_MEDIA_PARAMETERS
If dwOperation
is GET_TAPE_DRIVE_INFORMATION, lpTapeInformation points to a TAPE_GET_DRIVE_PARAMETERS
Return Values
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
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_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. |
Remarks
The block
size range values (maximum and minimum) returned by the GetTapeParameters
function called with the dwOperation parameter set to the
GET_TAPE_DRIVE_INFORMATION value will indicate system limits, not drive limits.
However, it is the tape drive device and the media present in the drive that determine
the true block size limits. Thus, an application may not be able to set all the
block sizes mentioned in the range obtained by specifying
GET_TAPE_DRIVE_INFORMATION in dwOperation.
See Also