IDXGIKeyedMutex::ReleaseSync 메서드(dxgi.h)
키를 사용하여 공유 리소스에 대한 단독 렌더링 액세스를 해제합니다.
구문
HRESULT ReleaseSync(
UINT64 Key
);
매개 변수
Key
형식: UINT64
액세스 권한을 부여할 디바이스를 나타내는 값입니다. 이 메서드는 현재 Surface를 소유하고 있는 디바이스가 동일한 값을 사용하여 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 |
라이브러리 | DXGI.lib |