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

こちらもご覧ください

DXGI インターフェイス

IDXGIKeyedMutex

IDXGIKeyedMutex::AcquireSync