次の方法で共有


XblHttpCallPerformAsync

XblHttpCallHandle を使用して HTTP 呼び出しを実行します。

構文

HRESULT XblHttpCallPerformAsync(  
         XblHttpCallHandle call,  
         XblHttpCallResponseBodyType type,  
         XAsyncBlock* asyncBlock  
)  

パラメーター

call _In_
型: XblHttpCallHandle

HTTP 呼び出しのハンドル。

type _In_
型: XblHttpCallResponseBodyType

この HTTP 呼び出しの結果を読み取るための応答本文の型。 注: これは Content-Type ヘッダーには影響しないため、XblHttpCallRequestSetHeader を呼び出して Content-Type ヘッダーを指定する必要があります。

asyncBlock _Inout_
型: XAsyncBlock*

非同期操作を定義する XAsyncBlock。

戻り値

型: HRESULT

この API 操作の結果コード。 値は、S_OK、E_INVALIDARG、E_OUTOFMEMORY、または E_FAIL のいずれかになります。

解説

最初に、XblHttpCallCreate() を使用して HTTP ハンドルを作成します。 次に、XblHttpCallRequestSet*() を呼び出して、XblHttpCallHandle を準備します。 次に、XblHttpCallPerformAsync() を呼び出して、XblHttpCallHandle を使用して HTTP 呼び出しを実行します。 この呼び出しは非同期であるため、作業はバックグラウンド スレッドで実行され、コールバックを介して返されます。 実行呼び出しは非同期であるため、XTaskQueueDispatch(..., XTaskQueuePort::Work) を呼び出すバックグラウンド スレッドで作業が行われます。 結果は、XTaskQueueDispatch(..., XTaskQueuePort::Completion) を呼び出すスレッドのコールバックに返され、XblHttpCallResponseGet*() を呼び出して XblHttpCallHandle の HTTP 応答を取得することにより、HTTP 呼び出しの結果を取得します。 XblHttpCallHandle が不要になったら、XblHttpCallCloseHandle() を呼び出して XblHttpCallHandle に関連付けられたメモリを解放します。 XblHttpCallPerformAsync は 1 回だけ呼び出すことができます。 呼び出しを繰り返す新しい XblHttpCallHandle を作成します。

要件

ヘッダー: http_call_c.h

ライブラリ: Microsoft.Xbox.Services.14x.GDK.C.lib

関連項目

http_call_c