IDXGIKeyedMutex::ReleaseSync メソッド (dxgi.h)
キーを使用すると、共有リソースへの排他的なレンダリング アクセスが解放されます。
構文
HRESULT ReleaseSync(
UINT64 Key
);
パラメーター
Key
型: UINT64
アクセス権を付与するデバイスを示す 値。 このメソッドは、現在サーフェスを所有しているデバイスが同じ値を使用して ReleaseSync メソッドを呼び出すと成功します。 この値には、任意の UINT64 値を指定できます。
戻り値
種類: HRESULT
成功した場合は、S_OKを返します。
デバイスが無効またはデバイスが所有しているキー付きミューテックスを解放しようとした場合、 ReleaseSync はE_FAILを返します。
注釈
ReleaseSync メソッドは、複数のデバイス間で共有されるサーフェスにロックを解放します。 このメソッドでは、キーを使用して、現在サーフェスに排他的にアクセスできるデバイスを特定します。
D3D10_RESOURCE_MISC_FLAG 列挙のD3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX値を使用してサーフェスを作成する場合は、サーフェスにレンダリングする前に IDXGIKeyedMutex::AcquireSync メソッドを呼び出す必要があります。 サーフェスへのレンダリングが完了したら、 ReleaseSync メソッドを呼び出す必要があります。
ReleaseSync メソッドを呼び出すと、共有リソースはレンダリング パイプラインから設定解除されます。
共有リソースのキー付きミューテックス オブジェクトへの参照を取得するには、リソースの QueryInterface メソッドを呼び出し、IDXGIKeyedMutex インターフェイスの UUID を渡します。 このリファレンスの取得の詳細については、次のコード例を参照してください。
例
キー付きミューテックスの取得
次のコード例では、共有リソースへのロックを取得する方法と、リリース時にキーを指定する方法を示します。
// pDesc has already been set up with texture description.
pDesc.MiscFlags = D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX;
// Create a shared texture resource.
pD3D10DeviceD->CreateTexture2D(pDesc, NULL, pD3D10Texture);
// Acquire a reference to the keyed mutex.
pD3D10Texture->QueryInterface(_uuidof(IDXGIKeyedMutex), pDXGIKeyedMutex);
// Acquire a lock to the resource.
pDXGIKeyedMutex->AcquireSync(0, INFINITE);
// Release the lock and specify a key.
pDXGIKeyedMutex->ReleaseSync(1);
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | dxgi.h |
Library | DXGI.lib |