XAsyncComplete
비동기 공급자에 대한 콜백 함수가 작업을 완료하였고 결과를 반환할 수 있음을 나타냅니다.
구문
void XAsyncComplete(
XAsyncBlock* asyncBlock,
HRESULT result,
size_t requiredBufferSize
)
매개 변수
asyncBlock _Inout_
형식: XAsyncBlock*
XAsyncBegin에 전달된 XAsyncBlock에 대한 포인터입니다.
result _In_
형식: HRESULT
콜백 함수에서 수행한 작업의 결과입니다. 작업이 취소되면 E_ABORT
으로 설정하도록 합니다. 더 많은 작업을 수행해야 하는 경우에는 E_PENDING
으로 설정합니다. 그렇지 않은 경우, 이를 적절한 결과 코드로 설정합니다.
requiredBufferSize _In_
형식: size_t
콜백 함수에서 반환할 데이터 페이로드의 필수 크기(바이트)입니다. 콜백 함수에서 데이터 페이로드를 반환하지 않는 경우 이 값을 0으로 설정합니다. 콜백 함수에서 오류가 반환되는 경우 이 매개 변수는 무시됩니다.
반환 값
형식: void
설명
참고 항목
이 함수는 시간에 민감한 스레드에서 호출하는 것이 안전하지 않습니다. 자세한 내용은 시간에 민감한 스레드를 참조하세요.
이 함수는 비동기 작업을 수행하거나 취소하기 위해 콜백 함수를 호출한 경우에 호출됩니다. 함수는 적절한 결과 코드를 반환하고, 필요한 경우 데이터 페이로드에 대한 정보를 반환합니다. 이 함수를 호출 시 일반적으로 콜백 함수에 대 한 XAsyncOp 작업 코드, 비동기 작업 및 데이터 페이로드의 조합이 결과 및 requiredBufferSize에 제공해야 하는 값을 결정합니다.
XAsyncOp::DoWork
작업 코드로 콜백 함수를 호출한 경우 콜백 함수에서 비동기 작업을 수행해야 합니다. 콜백 함수가 모든 비동기 작업을 완료한 경우 결과를 적절한 오류 코드로 설정합니다. 더 많은 작업을 수행해야 하는 경우, 결과를 E_PENDING
으로 설정합니다. 함수에서 데이터 페이로드를 반환하는 경우, requiredBufferSize를 데이터 페이로드를 반환하는 데 필요한 버퍼의 크기(바이트)로 설정합니다. 그렇지 않으면 requiredBufferSize를 0으로 설정합니다.
XAsyncOp::Cancel
작업 코드로 콜백 함수를 호출한 경우 콜백 함수에서 비동기 작업을 취소해야 합니다.
결과를 E_ABORT
으로 설정하고 requiredBufferSize는 0으로 설정합니다.
요건
헤더: XAsyncProvider. h
라이브러리: xgameruntime.lib
지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔