WsCloseChannel 関数 (webservices.h)
指定した チャネルを閉じます。
構文
HRESULT WsCloseChannel(
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
パラメーター
[in] channel
閉じるチャネルを表す WS_CHANNEL 構造体へのポインター。
[in, optional] asyncContext
関数を非同期的に呼び出すための情報を含む WS_ASYNC_CONTEXT データ構造体へのポインター。 関数を同期的に呼び出すには 、NULL 値を渡します。
[in, optional] error
関数 が失敗 した場合に追加のエラー情報が格納されるWS_ERROR構造体へのポインター。
戻り値
関数が成功した場合は、NO_ERRORを返します。それ以外の場合は、HRESULT エラー コードを返します。
リターン コード | 説明 |
---|---|
|
非同期操作はまだ保留中です。 |
|
チャネルが閉じている間に 、WsAbortChannel の呼び出しによってチャネルクロージャが中止されました。 |
|
チャネルが不適切な状態でした (「解説」セクションを参照)。 |
|
リモート エンドポイントとの接続が終了しました。 |
|
リモート エンドポイントが要求を処理できませんでした。 |
|
入力データの形式が正しくないか、予期した値が指定されていませんでした。 |
|
割り当てられた時間内に操作が完了しませんでした。 |
|
クォータを超えました。 |
|
操作を完了するためのメモリ不足。 |
|
1 つ以上の引数が無効です。 |
|
この関数は、上記以外のエラーを返す場合があります。 |
注釈
チャネルを開いた場合、またはチャネルを正常に受け入れる場合は、不要になったらチャネルを閉じる必要があります。 チャネルが閉じられた後は、関連付けられているリソースを安全に解放できます。
チャネル終了プロセスは、既に開始され、保留中の I/O が完了するまで待機します。
チャネルに対して現在読み取りまたは書き込まれているメッセージがない場合、チャネルは正常なシャットダウンを試みます。 それ以外の場合、チャネル自体で保留中のすべての I/O が中止され、チャネルが失礼なシャットダウンを実行します。
チャネルが正常なシャットダウンを試行してもエラーが発生した場合、 WsCloseChannel はエラーを返しますが、チャネルは引き続き閉じられます。
この操作は、チャネルがWS_CHANNEL_STATE_OPENまたはWS_CHANNEL_STATE_FAULTED状態の場合にのみ許可されます。
チャネルを閉じると、読み取り中または書き込み中のメッセージの関連付けが自動的に解除されます。 そのため、WsCloseChannel を呼び出す前に WsAbandonMessage を呼び出す必要はありません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | webservices.h |
Library | WebServices.lib |
[DLL] | WebServices.dll |