다음을 통해 공유


GetTapePosition 함수(winbase.h)

GetTapePosition 함수는 논리 또는 절대 블록에서 테이프의 현재 주소를 검색합니다.

구문

DWORD GetTapePosition(
  [in]  HANDLE  hDevice,
  [in]  DWORD   dwPositionType,
  [out] LPDWORD lpdwPartition,
  [out] LPDWORD lpdwOffsetLow,
  [out] LPDWORD lpdwOffsetHigh
);

매개 변수

[in] hDevice

테이프 위치를 가져올 디바이스에 대한 핸들입니다. 이 핸들은 CreateFile을 사용하여 만들어집니다.

[in] dwPositionType

가져올 주소 유형입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
TAPE_ABSOLUTE_POSITION
0L
lpdwOffsetLowlpdwOffsetHigh 매개 변수는 디바이스별 블록 주소를 받습니다. dwPartition 매개 변수는 0을 받습니다.
TAPE_LOGICAL_POSITION
1L
lpdwOffsetLowlpdwOffsetHigh 매개 변수는 논리 블록 주소를 받습니다. dwPartition 매개 변수는 논리 테이프 파티션을 받습니다.

[out] lpdwPartition

현재 테이프 파티션의 수를 받는 변수에 대한 포인터입니다. 파티션은 논리적으로 1부터 n까지 번호가 매겨집니다. 여기서 1은 테이프의 첫 번째 파티션이고 n은 마지막 파티션입니다. 디바이스별 블록 주소를 검색하거나 디바이스가 하나의 파티션만 지원하는 경우 이 매개 변수는 0을 받습니다.

[out] lpdwOffsetLow

현재 테이프 위치의 하위 비트를 수신하는 변수에 대한 포인터입니다.

[out] lpdwOffsetHigh

현재 테이프 위치의 상위 비트를 수신하는 변수에 대한 포인터입니다. 상위 비트가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다.

반환 값

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

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

오류 코드 Description
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
미디어가 쓰기 보호되어 있습니다.

설명

논리 블록 주소는 파티션을 기준으로 합니다. 각 파티션의 첫 번째 논리 블록 주소는 0입니다.

GetTapeParameters 함수를 호출하여 테이프 드라이브 및 미디어의 상태, 기능 및 용량에 대한 정보를 가져옵니다.

요구 사항

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

참고 항목

CreateFile

GetTapeParameters

SetTapePosition