다음을 통해 공유


XAsyncGetResult

비동기 공급자의 비동기 호출 결과를 반환합니다.

구문

HRESULT XAsyncGetResult(  
         XAsyncBlock* asyncBlock,  
         const void* identity,  
         size_t bufferSize,  
         void* buffer,  
         size_t* bufferUsed  
)  

매개 변수

asyncBlock _Inout_
형식: XAsyncBlock*

비동기 호출을 위해 XAsyncBegin에 전달된 XAsyncBlock에 대한 포인터입니다.

identity _In_opt_
형식: void*

선택 사항. 비동기 호출을 식별하는 데 사용할 수 있는 임의 토큰에 대한 포인터입니다. 해당하는 XAsyncBegin 호출의 ID 매개 변수 값이 지정되어 있으면 여기에서 동일한 포인터를 지정해야 합니다.

bufferSize _In_
형식: size_t

buffer에 지정된 결과 버퍼의 크기(바이트)입니다.

buffer _Out_writes_bytes_to_opt_(bufferSize, *bufferUsed)
형식: void*

결과 버퍼에 대한 포인터입니다.

bufferUsed _Out_opt_
형식: size_t*

선택 사항. buffer에 지정된 결과 버퍼에 쓰여진 바이트 수를 포함하는 포인터입니다. 이 값은 XAsyncComplete를 호출한 경우 비동기 공급자가 지정한 requiredResultSize 매개 변수의 값으로 정의됩니다.

반환 값

형식: HRESULT

성공한 경우 S_OK을(를) 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 오류 코드 목록은 오류 코드를 참조하세요.

비고

비동기 호출에 데이터 페이로드가 있는 경우 이 함수를 호출하면 데이터 페이로드가 반환됩니다. 비동기 호출에 데이터 페이로드가 없는 경우에는 이 함수를 호출할 필요가 없습니다. 데이터 페이로드가 없는 비동기 호출에 대해 이 함수를 호출하면 이 함수에서 E_NOT_SUPPORTED 오류 코드가 반환됩니다.

이 비동기 호출에 대한 XAsyncBegin 함수의 ID 매개 변수 값이 지정된 경우 이 함수의 ID 매개 변수에 대해서도 해당하는 동일한 값을 지정해야 합니다. 그렇게 하지 않으면 호출 불일치가 발생하고 함수에서 E_INVALIDARG 오류 코드가 반환됩니다.

이 함수가 완료되고 결과가 buffer에 지정된 결과 버퍼에 반환되면 asyncBlock에 지정된 XAsyncBlock이 완료되고 비동기 호출에 더 이상 연결되지 않습니다.

요건

헤더: XAsyncProvider. h

라이브러리: xgameruntime.lib

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

XAsyncProvider 멤버
XAsyncBegin
XAsyncComplete
비동기 프로그래밍 모델