FSCTL_OFFLOAD_READ_OUTPUT 구조체(ntifs.h)
FSCTL_OFFLOAD_READ_OUTPUT 구조에는 FSCTL_OFFLOAD_READ 제어 코드 요청에 대한 출력이 포함됩니다.
구문
typedef struct _FSCTL_OFFLOAD_READ_OUTPUT {
ULONG Size;
ULONG Flags;
ULONGLONG TransferLength;
UCHAR Token[512];
} FSCTL_OFFLOAD_READ_OUTPUT, *PFSCTL_OFFLOAD_READ_OUTPUT;
멤버
Size
이 구조체의 크기입니다. 이 멤버를 sizeof(FSCTL_OFFLOAD_READ_OUTPUT)로 설정합니다.
Flags
결과 플래그입니다. 이 값은 다음 값의 비트 OR 조합입니다.
TransferLength
토큰이 나타내는 데이터의 길이(바이트)입니다.
Token[512]
FSCTL_OFFLOAD_READ_INPUT 지정된 범위 내의 파일 데이터를 나타내는 토큰 구조(STORAGE_OFFLOAD_TOKEN)를 포함하는 바이트 배열입니다. 토큰의 내용은 오프로드 작업 간에 수정되지 않은 상태로 유지되어야 합니다.
설명
FSCTL_OFFLOAD_READ 작업이 성공하면 스토리지 디바이스의 복사 공급자는 파일 데이터 읽기 부분을 식별하는 고유한 토큰 값을 FSCTL_OFFLOAD_READ_OUTPUT 반환합니다.
복사 공급자는 FSCTL_OFFLOAD_READ_INPUT 구조체의 TokenTimeToLive 멤버에서 읽은 데이터를 보존합니다.
토큰은 FSCTL_OFFLOAD_READ_INPUTFileOffset 멤버에서 요청된 오프셋으로 시작하는 파일의 연속 영역을 나타냅니다. 복사된 결과 길이인 TransferLength는 원래 FSCTL_OFFLOAD_READ_INPUTCopyLength 멤버에 지정된 길이보다 작을 수 있습니다. 값이 작을수록 토큰 이 요청된 것보다 적은 데이터를 논리적으로 나타낼 수 있음을 나타냅니다.
요청된 데이터보다 적은 데이터가 전송된 경우 다른 FSCTL_OFFLOAD_READ 요청을 수행하여 읽기 작업을 완료할 수 있습니다. 다음 요청은 transferLength의 값과 TransferLength의 값을 뺀 이전 길이의 조정된 읽기 길이를 사용하여 FSCTL_OFFLOAD_READ_INPUT 구조에서 업데이트된 FileOffset 멤버를 사용합니다. 또한 예를 들어 ZwReadFile 루틴을 사용하여 오프로드되지 않은 읽기 메서드를 통해 불완전한 읽기 작업을 완료할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
머리글 | ntifs.h(Ntifs.h, Fltkernel.h 포함) |