RECEIVE_TOKEN_INFORMATION_HEADER 구조체(minitape.h)
RECEIVE_TOKEN_INFORMATION_HEADER 구조에는 오프로드 데이터 전송 작업에서 상태 반환된 정보가 포함됩니다.
구문
typedef struct {
UCHAR AvailableData[4];
UCHAR ResponseToServiceAction : 5;
UCHAR Reserved1 : 3;
UCHAR OperationStatus : 7;
UCHAR Reserved2 : 1;
UCHAR OperationCounter[2];
UCHAR EstimatedStatusUpdateDelay[4];
UCHAR CompletionStatus;
UCHAR SenseDataFieldLength;
UCHAR SenseDataLength;
UCHAR TransferCountUnits;
UCHAR TransferCount[8];
UCHAR SegmentsProcessed[2];
UCHAR Reserved3[6];
UCHAR SenseData[ANYSIZE_ARRAY];
} RECEIVE_TOKEN_INFORMATION_HEADER, *PRECEIVE_TOKEN_INFORMATION_HEADER;
멤버
AvailableData[4]
SenseData 배열에서 사용할 수 있는 데이터 양 및 추가 결과 정보입니다.
ResponseToServiceAction
응답이 어떤 명령 작업을 수행할지 나타내는 응답 코드입니다. 서비스 작업 코드는 다음과 같습니다.
값 | 의미 |
---|---|
SERVICE_ACTION_POPULATE_TOKEN | 응답 정보는 POPULATE TOKEN 명령에 대한 것입니다. |
SERVICE_ACTION_WRITE_USING_TOKEN | 응답 정보는 WRITE USING TOKEN 명령에 대한 것입니다. |
Reserved1
예약되어 있습니다.
OperationStatus
복사 작업의 현재 상태. 상태 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
0x01 | 작업이 성공적으로 완료되었습니다. |
0x02 | 작업이 실패했습니다. |
0x04 | 작업이 성공적으로 완료되었지만 복사 시작자는 모든 데이터가 전송되었는지 확인해야 합니다. |
0x10 | 작업이 진행 중입니다. 포그라운드 또는 백그라운드 작업 상태를 알 수 없습니다. |
0x11 | 전경에서 작업이 진행 중입니다. |
0x12 | 백그라운드에서 작업이 진행 중입니다. |
0x60 | 작업이 종료되었습니다. 기존 리소스 예약에 의한 것일 수 있습니다. |
Reserved2
예약되어 있습니다.
OperationCounter[2]
현재 복사 작업에 대해 처리된 명령 수입니다.
EstimatedStatusUpdateDelay[4]
현재 복사 작업에 대한 업데이트된 정보를 보려면 다음 RECEIVE COPY STATUS 명령을 보내기 전에 대기하는 데 권장되는 시간(밀리초)입니다.
CompletionStatus
SCSI 상태 명령 복사 작업에 대한 코드입니다.
SenseDataFieldLength
센스 데이터에 사용할 수 있는 전체 데이터 영역의 길이(바이트)입니다. 이 값은 항상 >= SenseDataLength입니다.
SenseDataLength
SenseData의 데이터 길이(바이트)입니다.
TransferCountUnits
TransferCount에 적용된 바이트 단위입니다. 각 단위 확장은 base 2의 지수입니다. 예를 들어 TRANSFER_COUNT_UNITS_KIBIBYTES 승수 값은 1000이 아닌 1024입니다. 정의된 단위는 다음과 같습니다.
값 | 의미 |
---|---|
TRANSFER_COUNT_UNITS_BYTES | 전송 횟수는 바이트 단위입니다. |
TRANSFER_COUNT_UNITS_KIBIBYTES | 전송 횟수는 킬로바이트입니다. |
TRANSFER_COUNT_UNITS_MEBIBYTES | 전송 횟수는 MB입니다. |
TRANSFER_COUNT_UNITS_GIBIBYTES | 전송 횟수는 기가바이트입니다. |
TRANSFER_COUNT_UNITS_TEBIBYTES | 전송 수는 테라바이트 단위입니다. |
TRANSFER_COUNT_UNITS_PEBIBYTES | 전송 횟수는 페타바이트 단위입니다. |
TRANSFER_COUNT_UNITS_EXBIBYTES | 전송 횟수는 엑사바이트 단위입니다. |
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS | 전송 수는 지수가 아니라 논리 블록 길이 단위입니다. |
TransferCount[8]
작업에서 전송되는 데이터의 길이입니다. TransferCountUnits의 단위 형식은 이 값에 적용되어 총 바이트 수를 제공합니다.
SegmentsProcessed[2]
데이터 전송 작업을 위해 처리된 세그먼트 수입니다. 세그먼트는 스토리지 디바이스의 복사 공급자가 내부적으로 사용하는 복사 길이 단위입니다. Windows 시스템에서 이 값은 예약되어 있으며 애플리케이션은 이 멤버를 무시해야 합니다.
Reserved3[6]
예약되어 있습니다.
SenseData[ANYSIZE_ARRAY]
복사 작업에 대해 반환된 데이터를 감지합니다.
설명
RECEIVE_TOKEN_INFORMATION_HEADER TOKEN 채우기 명령 작업용이고 명령이 성공적으로 완료된 경우 SenseData 배열의 시작 부분에서 SenseDataFieldLength 오프셋의 SenseData 다음에도 RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER 구조가 표시됩니다. RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER 구조에는 명령으로 전송된 범위 매개 변수에 대한 ROD(데이터 표현)로 만든 토큰이 포함됩니다.
모든 멀티바이트 값은 big endian 형식입니다. 평가하기 전에 이러한 값은 현재 플랫폼의 endian 형식과 일치하도록 변환되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 사용하여 사용할 수 있습니다. |
머리글 | minitape.h(Scsi.h, Minitape.h, Storport.h 포함) |