다음을 통해 공유


PrepareTape 함수(winbase.h)

PrepareTape 함수는 테이프에 액세스하거나 제거할 수 있도록 준비합니다.

구문

DWORD PrepareTape(
  [in] HANDLE hDevice,
  [in] DWORD  dwOperation,
  [in] BOOL   bImmediate
);

매개 변수

[in] hDevice

테이프를 준비하는 디바이스에 대한 핸들입니다. 이 핸들은 CreateFile 함수를 사용하여 만들어집니다.

[in] dwOperation

테이프 디바이스 준비. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
TAPE_FORMAT
5l
테이프의 하위 수준 형식을 수행합니다. 현재 QIC117 디바이스만 이 기능을 지원합니다.
TAPE_LOAD
0L
테이프를 로드하고 테이프를 시작 부분으로 이동합니다.
TAPE_LOCK
3l
테이프가 실수로 배출되지 않도록 테이프 배출 메커니즘을 잠깁니다.
TAPE_TENSION
2L
테이프를 테이프 끝으로 이동하고 다시 시작 부분으로 이동하여 장력을 조정합니다. 이 옵션은 모든 디바이스에서 지원되지 않습니다. 이 값은 지원되지 않는 경우 무시됩니다.
TAPE_UNLOAD
1L
테이프를 시작 부분으로 이동하여 디바이스에서 제거합니다. 언로드 작업이 성공한 후 디바이스는 테이프가 다시 로드될 때까지 테이프에 액세스하려는 애플리케이션에 오류를 반환합니다.
TAPE_UNLOCK
4l
테이프 배출 메커니즘의 잠금을 해제합니다.

[in] bImmediate

이 매개 변수가 TRUE이면 함수가 즉시 반환됩니다. FALSE이면 작업이 완료될 때까지 함수가 반환되지 않습니다.

반환 값

함수가 성공하면 반환 값이 NO_ERROR.

함수가 실패하면 다음 오류 코드 중 하나를 반환할 수 있습니다.

오류 설명
ERROR_BEGINNING_OF_MEDIA
1102L
중간의 시작 마커가 실패하기 전에 데이터에 액세스하려고 시도했습니다.
ERROR_BUS_RESET
1111L
버스에서 재설정 조건이 감지되었습니다.
ERROR_DEVICE_NOT_PARTITIONED
1107L
테이프를 로드할 때 파티션 정보를 찾을 수 없습니다.
ERROR_END_OF_MEDIA
1100L
작업 중에 테이프 끝 마커에 도달했습니다.
ERROR_FILEMARK_DETECTED
1101L
작업 중에 파일 표시에 도달했습니다.
ERROR_INVALID_BLOCK_LENGTH
1106L
블록 크기가 다발성 파티션의 새 테이프에서 잘못되었습니다.
ERROR_MEDIA_CHANGED
1110L
드라이브에 있던 테이프가 교체되거나 제거되었습니다.
ERROR_NO_DATA_DETECTED
1104L
작업 중에 데이터 끝 표식에 도달했습니다.
ERROR_NO_MEDIA_IN_DRIVE
1112L
드라이브에 미디어가 없습니다.
ERROR_NOT_SUPPORTED
50l
테이프 드라이버는 요청된 함수를 지원하지 않습니다.
ERROR_PARTITION_FAILURE
1105L
테이프를 분할할 수 없습니다.
ERROR_SETMARK_DETECTED
1103L
작업 중에 setmark에 도달했습니다.
ERROR_UNABLE_TO_LOCK_MEDIA
1108L
배출 메커니즘을 잠그려는 시도가 실패했습니다.
ERROR_UNABLE_TO_UNLOAD_MEDIA
1109L
테이프를 언로드하지 못했습니다.
ERROR_WRITE_PROTECT
19L
미디어가 쓰기 보호되어 있습니다.

설명

일부 테이프 디바이스는 특정 테이프 작업을 지원하지 않습니다. 테이프 디바이스 설명서를 참조하고 GetTapeParameters 함수를 사용하여 테이프 디바이스의 기능을 확인합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

CreateFile

GetTapeParameters