Platform SDK: Files and I/O

SetTapeParameters

The SetTapeParameters function either specifies the block size of a tape or configures the tape device.

DWORD SetTapeParameters(
  HANDLE hDevice,           // handle to device
  DWORD dwOperation,        // information type
  LPVOID lpTapeInformation  // information buffer
);

Parameters

hDevice
[in] Handle to the device for which to set configuration information. This handle is created by using the CreateFile function.
dwOperation
[in] Specifies the type of information to set. This parameter must be one of the following values.
Value Description
SET_TAPE_MEDIA_INFORMATION Sets the tape-specific information specified by the lpTapeInformation parameter.
SET_TAPE_DRIVE_INFORMATION Sets the device-specific information specified by lpTapeInformation.

lpTapeInformation
[in] Pointer to a structure that contains the information to set. If the dwOperation parameter is SET_TAPE_MEDIA_INFORMATION, lpTapeInformation points to a TAPE_SET_MEDIA_PARAMETERS structure.

If dwOperation is SET_TAPE_DRIVE_INFORMATION, lpTapeInformation points to a TAPE_SET_DRIVE_PARAMETERS structure.

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 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.

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, GetTapeParameters, TAPE_SET_DRIVE_PARAMETERS, TAPE_SET_MEDIA_PARAMETERS