다음을 통해 공유


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

추가 정보

DXGI 인터페이스

IDXGIKeyedMutex

IDXGIKeyedMutex::AcquireSync