WsAcceptChannel 関数 (webservices.h)
指定した リスナーからの次の受信メッセージを受け入れます。
構文
HRESULT WsAcceptChannel(
[in] WS_LISTENER *listener,
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
パラメーター
[in] listener
リスナーを表す WS_LISTENER 構造体へのポインター。 これは、チャネルの作成時に WsCreateChannelForListener に渡されるリスナーです。
[in] channel
受け入れるチャネルを表す WS_CHANNEL 構造体へのポインター。
[in, optional] asyncContext
関数 を非同期 で呼び出すための情報を含むWS_ASYNC_CONTEXTデータ構造へのポインター。 同期操作に NULL 値を渡します。
[in, optional] error
関数が失敗した場合に追加のエラー情報を受け取る WS_ERROR 構造体へのポインター。
戻り値
関数が成功すると、NO_ERRORが返されます。それ以外の場合は、HRESULT エラー コードが返されます。
リターン コード | 説明 |
---|---|
|
非同期操作はまだ保留中です。 |
|
リスナーまたはチャネルが中止されました。 |
|
リスナーに障害が発生しました。 「解説」を参照してください。 |
|
リスナーまたはチャネル、またはその両方が不適切な状態でした。 「解説」を参照してください。 |
|
リモート エンドポイントとの接続が終了しました。 |
|
割り当てられた時間内に操作が完了しませんでした。 |
|
クォータを超えました。 |
|
入力データが予期された形式でなかったか、予期された値を持っていませんでした。 |
|
操作を完了するにはメモリが不足しています。 |
|
1 つ以上の引数が無効です。 |
|
受信したデータのセキュリティ検証が成功しなかった。 |
|
Windows Web Services フレームワークでセキュリティ操作が失敗しました。 |
|
この関数は、上記以外のエラーを返す場合があります。 |
注釈
チャネルを受け入れた後は、不要になったらチャネルを閉じ、リソースを解放する必要があります。
WsCloseChannel 関数を使用して、 WsFreeChannel または WsResetChannel を呼び出します。
関数。
WsAcceptChannel を成功させるには、リスナーがWS_LISTENER_STATE_OPEN状態で、チャネルがWS_CHANNEL_STATE_CREATED状態である必要があります。 詳細については、「WS_LISTENER_STATE」および「WS_CHANNEL_STATE列挙」を参照してください。
リスナーが WS_LISTENER_STATE_FAULTED 状態の場合、
WsAcceptChannel は 、 WS_E_OBJECT_FAULTED エラー コードを直ちに返します。 アプリケーションがループ内で WsAcceptChannel を呼び出している場合、アプリケーションはこのエラーに対してチェックする必要があるため、ループを終了できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | webservices.h |
Library | WebServices.lib |
[DLL] | WebServices.dll |