スレッド セーフ

この API 内のすべての関数は、異なるスレッドから同時に呼び出しても安全です。 ただし、関数にパラメーターとして渡される各オブジェクトには、次に説明するように、特定のスレッド動作があります。

次のハンドルはシングル スレッドであり、特定のインスタンスの同時実行操作をサポートしていません。

次のハンドルはフリー スレッドであり、特定のインスタンスの同時実行操作をサポートします。

これらすべてのハンドルについて、スレッド処理は (関数呼び出しではなく) 操作の観点から定義されます。 同期的に呼び出される関数と非同期に呼び出される関数では、操作の定義が異なります。

  • 同期的に呼び出された関数の場合、操作は関数の実行中に保留中です。
  • 非同期的に呼び出された関数の場合、関数が関数の実行中に操作 が保留中WS_S_ASYNC 以外のリターン コードを返す場合。 ただし、 関数が WS_S_ASYNC を返す場合、 WS_ASYNC_CALLBACK が呼び出されるまで操作は保留中です。 関数の非同期呼び出しの詳細については、「 非同期モデル 」トピックを参照してください。 エラー コードについては、「 Windows Web サービスの戻り値」を参照してください。

オブジェクトのスレッドコントラクトに従わないと、未定義の動作が発生します。