SetTapePosition 함수(winbase.h)
SetTapePosition 함수는 지정된 디바이스에서 테이프 위치를 설정합니다.
구문
DWORD SetTapePosition(
[in] HANDLE hDevice,
[in] DWORD dwPositionMethod,
[in] DWORD dwPartition,
[in] DWORD dwOffsetLow,
[in] DWORD dwOffsetHigh,
[in] BOOL bImmediate
);
매개 변수
[in] hDevice
테이프 위치를 설정할 디바이스에 대한 핸들입니다. 이 핸들은 CreateFile 함수를 사용하여 만들어집니다.
[in] dwPositionMethod
수행할 위치 지정 유형입니다. 이 매개 변수는 다음 값 중 하나여야 합니다.
[in] dwPartition
내 위치에 배치할 파티션입니다. dwPartition이 0이면 현재 파티션이 사용됩니다. 파티션은 1에서 n까지 논리적으로 번호가 매겨집니다. 여기서 1은 테이프의 첫 번째 파티션이고 n은 마지막 파티션입니다.
[in] dwOffsetLow
블록 주소의 하위 비트 또는 dwPositionMethod 매개 변수로 지정된 위치 작업의 개수입니다.
[in] dwOffsetHigh
dwPositionMethod 매개 변수로 지정된 위치 작업에 대한 블록 주소 또는 개수의 상위 비트입니다. 상위 비트가 필요하지 않은 경우 이 매개 변수는 0이어야 합니다.
[in] bImmediate
이동 작업이 시작되는 즉시 반환할지 여부를 나타냅니다. 이 매개 변수가 TRUE이면 함수가 즉시 반환됩니다. FALSE이면 이동 작업이 완료될 때까지 함수가 반환되지 않습니다.
반환 값
함수가 성공하면 반환 값이 NO_ERROR.
함수가 실패하면 다음 오류 코드 중 하나를 반환할 수 있습니다.
오류 | Description |
---|---|
|
중간의 시작 마커가 실패하기 전에 데이터에 액세스하려고 시도했습니다. |
|
버스에서 재설정 조건이 감지되었습니다. |
|
테이프를 로드할 때 파티션 정보를 찾을 수 없습니다. |
|
작업 중에 테이프 끝 마커에 도달했습니다. |
|
작업 중에 파일 표시에 도달했습니다. |
|
블록 크기가 다발성 파티션의 새 테이프에서 잘못되었습니다. |
|
드라이브에 있던 테이프가 교체되거나 제거되었습니다. |
|
작업 중에 데이터 끝 표식에 도달했습니다. |
|
드라이브에 미디어가 없습니다. |
|
테이프 드라이버는 요청된 함수를 지원하지 않습니다. |
|
테이프를 분할할 수 없습니다. |
|
작업 중에 setmark에 도달했습니다. |
|
배출 메커니즘을 잠그려는 시도가 실패했습니다. |
|
테이프를 언로드하지 못했습니다. |
|
미디어가 쓰기 보호되어 있습니다. |
설명
dwOffsetLow 및 dwOffsetHigh로 지정된 오프셋이 이동할 블록, 파일 표시 또는 setmark의 수를 지정하는 경우 양수 오프셋은 테이프를 마지막 블록, 파일 표시 또는 setmark의 끝으로 앞으로 이동합니다. 음수 오프셋은 테이프를 마지막 블록, 파일 표시 또는 setmark의 시작 부분으로 뒤로 이동합니다. 오프셋이 0이면 테이프가 움직이지 않습니다.
테이프 드라이브 및 미디어의 상태, 기능 및 용량에 대한 정보를 얻으려면 GetTapeParameters 함수를 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |