IHostSyncManager::CreateCrstWithSpinCount メソッドIHostSyncManager::CreateCrstWithSpinCount Method

同期のためにスピンカウントを持つクリティカルセクションオブジェクトを作成します。Creates a critical section object with spin count for synchronization.

構文Syntax

HRESULT CreateCrstWithSpinCount (  
    [in]  DWORD dwSpinCount,  
    [out] IHostCrst** ppCrst  
);  

パラメーターParameters

dwSpinCount
からクリティカルセクションオブジェクトのスピンカウントを指定します。[in] Specifies the spin count for the critical section object.

ppCrst
入出力IHostCrstインスタンスのアドレスへのポインター。クリティカルセクションを作成できなかった場合は null。[out] A pointer to the address of an IHostCrst instance, or null if the critical section could not be created.

戻り値Return Value

HRESULTHRESULT 説明Description
S_OKS_OK CreateCrstWithSpinCount正常に返されました。CreateCrstWithSpinCount returned successfully.
HOST_E_CLRNOTAVAILABLEHOST_E_CLRNOTAVAILABLE 共通言語ランタイム (CLR) がプロセスに読み込まれていないか、CLR がマネージコードを実行できない状態であるか、または呼び出しが正常に処理されていません。The common language runtime (CLR) has not been loaded into a process, or the CLR is in a state in which it cannot run managed code or process the call successfully.
HOST_E_TIMEOUTHOST_E_TIMEOUT 呼び出しがタイムアウトしました。The call timed out.
HOST_E_NOT_OWNERHOST_E_NOT_OWNER 呼び出し元がロックを所有していません。The caller does not own the lock.
HOST_E_ABANDONEDHOST_E_ABANDONED ブロックされたスレッドまたはファイバーが待機しているときに、イベントが取り消されました。An event was canceled while a blocked thread or fiber was waiting on it.
E_FAILE_FAIL 原因不明の致命的なエラーが発生しました。An unknown catastrophic failure occurred. メソッドが E_FAIL を返すと、そのプロセス内で CLR が使用できなくなります。When a method returns E_FAIL, the CLR is no longer usable within the process. 後続のホストメソッドの呼び出しでは HOST_E_CLRNOTAVAILABLE が返されます。Subsequent calls to hosting methods return HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORYE_OUTOFMEMORY 要求されたクリティカルセクションを作成するのに十分なメモリがありませんでした。Not enough memory was available to create the requested critical section.

解説Remarks

スピンカウントは、マルチプロセッサシステムでのみ使用されます。A spin count is used only on a multi-processor system. スピンカウントは、使用できないクリティカルセクションに関連付けられているセマフォで待機操作を実行する前に、呼び出し元のスレッドがスピンする必要がある回数を指定します。The spin count specifies the number of times a calling thread must spin before it performs a wait operation on a semaphore that is associated with an unavailable critical section. スピン操作中にクリティカルセクションが解放されると、呼び出し元のスレッドは待機操作を回避します。If the critical section becomes free during the spin operation, the calling thread avoids the wait operation. CreateCrstWithSpinCountWin32 関数をミラー化 InitializeCriticalSectionAndSpinCount します。CreateCrstWithSpinCount mirrors the Win32 InitializeCriticalSectionAndSpinCount function.

要件Requirements

:システム要件」を参照してください。Platforms: See System Requirements.

ヘッダー: Mscoree.dllHeader: MSCorEE.h

ライブラリ: Mscoree.dll にリソースとして含まれていますLibrary: Included as a resource in MSCorEE.dll

.NET Framework のバージョン:2.0 以降で使用可能Available since 2.0.NET Framework Versions: 2.0 以降で使用可能Available since 2.0

関連項目See also