Compartir a través de


Función WriteTapemark (winbase.h)

La función WriteTapemark escribe un número especificado de marcas de archivo, setmarks, marcas de archivo cortas o marcas de archivo largas en un dispositivo de cinta. Estas marcas de cinta dividen una partición de cinta en áreas más pequeñas.

Sintaxis

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

Parámetros

[in] hDevice

Identificador del dispositivo en el que se van a escribir marcas de cinta. Este identificador se crea mediante la función CreateFile .

[in] dwTapemarkType

Tipo de marcas de cinta que se van a escribir. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
TAPE_FILEMARKS
1 L
Escribe el número de marcas de archivo especificadas por el parámetro dwTapemarkCount .
TAPE_LONG_FILEMARKS
3L
Escribe el número de marcas de archivo largas especificadas por dwTapemarkCount.
TAPE_SETMARKS
0L
Escribe el número de marcas de conjunto especificadas por dwTapemarkCount.
TAPE_SHORT_FILEMARKS
T2l
Escribe el número de marcas de archivo cortas especificadas por dwTapemarkCount.

[in] dwTapemarkCount

Número de marcas de cinta que se van a escribir.

[in] bImmediate

Si este parámetro es TRUE, la función devuelve inmediatamente; si es FALSE, la función no devuelve hasta que se haya completado la operación.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es NO_ERROR.

Si se produce un error en la función, puede devolver uno de los siguientes códigos de error.

Error Descripción
ERROR_BEGINNING_OF_MEDIA
1102L
Error al intentar acceder a los datos antes del marcador inicial de medio.
ERROR_BUS_RESET
1111L
Se detectó una condición de restablecimiento en el bus.
ERROR_DEVICE_NOT_PARTITIONED
1107L
No se encontró la información de partición cuando se cargaba una cinta.
ERROR_END_OF_MEDIA
1100L
El marcador de fin de cinta se alcanzó durante una operación.
ERROR_FILEMARK_DETECTED
1101L
Se alcanzó una marca de archivo durante una operación.
ERROR_INVALID_BLOCK_LENGTH
1106L
El tamaño del bloque es incorrecto en una nueva cinta en una partición multivolumen.
ERROR_MEDIA_CHANGED
1110L
La cinta que estaba en la unidad se ha reemplazado o quitado.
ERROR_NO_DATA_DETECTED
1104L
Se alcanzó el marcador de fin de datos durante una operación.
ERROR_NO_MEDIA_IN_DRIVE
1112L
No hay ningún medio en la unidad.
ERROR_NOT_SUPPORTED
50L
El controlador de cinta no admite una función solicitada.
ERROR_PARTITION_FAILURE
1105L
No se pudo crear particiones en la cinta.
ERROR_SETMARK_DETECTED
1103L
Se alcanzó una marca de establecimiento durante una operación.
ERROR_UNABLE_TO_LOCK_MEDIA
1108L
Error al intentar bloquear el mecanismo de expulsión.
ERROR_UNABLE_TO_UNLOAD_MEDIA
1109L
Error al intentar descargar la cinta.
ERROR_WRITE_PROTECT
19L
El medio está protegido contra escritura.

Comentarios

Filemarks, setmarks, short filemarks y long filemarks son elementos grabados especiales que denotan la organización lineal de la cinta. Ninguna de estas marcas contiene datos de usuario. Las marcas de archivo son las marcas más generales; setmarks proporciona una jerarquía que no está disponible con marcas de archivo.

Una marca de archivo corta contiene un espacio de borrado corto que no se puede sobrescribir a menos que la operación de escritura se realice desde el principio de la partición o desde una marca de archivo larga anterior.

Una marca de archivo larga contiene un intervalo de borrado largo que permite a una aplicación colocar la cinta al principio de la marca de archivo y sobrescribir la marca de archivo y la brecha de borrado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

CreateFile