> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XAsyncGetResult

> XAsyncGetResult

# XAsyncGetResult

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

## 구문

```cpp theme={null}
HRESULT XAsyncGetResult(  
         XAsyncBlock* asyncBlock,  
         const void* identity,  
         size_t bufferSize,  
         void* buffer,  
         size_t* bufferUsed  
)  
```

### 매개 변수

*asyncBlock*   \_Inout\_\
형식: [XAsyncBlock\*](https://docs.xbox.com/ko/reference/system/xasync/structs/xasyncblock.md)

비동기 호출을 위해 [XAsyncBegin](https://docs.xbox.com/ko/reference/system/xasyncprovider/functions/xasyncbegin.md)에 전달된 [XAsyncBlock](https://docs.xbox.com/ko/reference/system/xasync/structs/xasyncblock.md)에 대한 포인터입니다.

*identity*   \_In\_opt\_\
형식: void\*

선택 사항입니다. 비동기 호출을 식별하는 데 사용할 수 있는 임의 토큰에 대한 포인터입니다. 해당 [XAsyncBegin](https://docs.xbox.com/ko/reference/system/xasyncprovider/functions/xasyncbegin.md) 호출의 *identity* 매개 변수에 값이 지정된 경우, 여기에도 동일한 포인터를 지정해야 합니다.

*bufferSize*   \_In\_\
형식: size\_t

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

*buffer*   \_Out\_writes\_bytes\_to\_opt\_(bufferSize, \*bufferUsed)\
형식: void\*

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

*bufferUsed*   \_Out\_opt\_\
형식: size\_t\*

선택 사항입니다. *buffer*에 지정된 결과 버퍼에 기록된 바이트 수를 포함하는 포인터입니다. 이 값은 [XAsyncComplete](https://docs.xbox.com/ko/reference/system/xasyncprovider/functions/xasynccomplete.md)가 호출될 때 비동기 공급자가 지정한 *requiredResultSize* 매개 변수의 값으로 정의됩니다.

### 반환 값

형식: [HRESULT](https://learn.microsoft.com/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a)

성공하면 `S_OK`를 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 오류 코드 목록은 [오류 코드](https://docs.xbox.com/ko/reference/errorcodes.md)를 참조하세요.

## 설명

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

이 비동기 호출에 대한 [XAsyncBegin](https://docs.xbox.com/ko/reference/system/xasyncprovider/functions/xasyncbegin.md) 함수의 *identity* 매개 변수에 값이 지정된 경우, 이 함수의 *identity* 매개 변수에도 동일한 값을 제공해야 합니다. 그렇지 않으면 호출 불일치가 발생하고 함수는 오류 코드 `E_INVALIDARG`를 반환합니다.

이 함수가 완료되고 결과가 *buffer*에 지정된 결과 버퍼에 반환되면, *asyncBlock*에 지정된 [XAsyncBlock](https://docs.xbox.com/ko/reference/system/xasync/structs/xasyncblock.md)이 완료되어 더 이상 비동기 호출과 연결되지 않습니다.

## 요구 사항

**헤더:** XAsyncProvider.h

**라이브러리:** xgameruntime.lib

**지원 플랫폼:** Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## 개념 문서

* [사용자 지정 공급자 설정](https://docs.xbox.com/ko/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider.md)
* [반환 데이터 설정](https://docs.xbox.com/ko/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data.md)
* [비동기 프로그래밍 모델](https://docs.xbox.com/ko/build/core-features/common/async/async-programming-model.md)

## 함께 보기

[XAsyncProvider 멤버](https://docs.xbox.com/ko/reference/system/xasyncprovider/xasyncprovider_members.md)\
[XAsyncBegin](https://docs.xbox.com/ko/reference/system/xasyncprovider/functions/xasyncbegin.md)\
[XAsyncComplete](https://docs.xbox.com/ko/reference/system/xasyncprovider/functions/xasynccomplete.md)\
[비동기 프로그래밍 모델](https://docs.xbox.com/ko/build/core-features/common/async/async-programming-model.md)


## Related topics

- [XAsyncGetResultSize](https://docs.xbox.com/ko/reference/system/xasync/functions/xasyncgetresultsize.md)
- [XAsyncGetStatus](https://docs.xbox.com/ko/reference/system/xasync/functions/xasyncgetstatus.md)
- [XAsyncBegin](https://docs.xbox.com/ko/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [비동기 프로그래밍 모델](https://docs.xbox.com/ko/build/core-features/common/async/async-programming-model.md)
- [XAsyncCancel](https://docs.xbox.com/ko/reference/system/xasync/functions/xasynccancel.md)
