다음을 통해 공유


Microsoft 게임 개발 키트 API 작업 실행

이 항목에서는 Microsoft GDK(게임 개발 키트) API 작업을 실행하는 방법의 예를 제공합니다. 비동기 Microsoft GDK(게임 개발 키트) API 함수는 내부적으로 작업 콜백을 구현합니다. 그러나 비동기 블록에 지정된 대로 작업 큐의 지시에 따라 계속 실행됩니다. 이 메서드를 실행하려면 비동기 블록 및 API에 필요한 모든 매개 변수가 필요합니다.

// Set up the async block and completion callback.
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = nullptr;
async->callback = [](XAsyncBlock* async)
{
    XUserHandle newUser = nullptr;
    HRESULT result = XUserAddResult(async, &newUser);
    // Handle the completion callback.
    delete async;
};

// Start the async call.
HRESULT hr = XUserAddAsync(XUserAddOptions::None, async);
if (FAILED(hr))
{
    delete async;
}

이 코드는 일반적인 작업을 실행하는 코드와 크게 다르지 않습니다. 작업 콜백과 함께 XAsyncRun을 사용하는 대신, 사용하고자 하는 API를 호출합니다. 비동기 블록은 동일한 방식으로 설정됩니다. 차이점은 XUserAddAsyncXUserAddResult를 활용하여 완료 콜백에서 실시되는 호출을 통해 검색 가능한 데이터가 있다는 것입니다.

참고 항목

XAsync 라이브러리 개요

비동기 작업 설정(예제)

간단한 작업 실행 예제

XAsync