다음을 통해 공유


IDXGIResource::GetSharedHandle 메서드(dxgi.h)

[Direct3D 11.1부터 는 GetSharedHandle 을 더 이상 사용하여 공유 리소스에 대한 핸들을 검색하지 않는 것이 좋습니다. 대신 IDXGIResource1::CreateSharedHandle을 사용하여 공유 핸들을 가져옵니다. IDXGIResource1::CreateSharedHandle을 사용하려면 리소스를 공유로 만들고 NT 핸들(즉, D3D11_RESOURCE_MISC_SHARED_NTHANDLE 플래그 설정)을 사용하도록 지정해야 합니다. 또한 이러한 공유 리소스에서 CloseHandle, DuplicateHandle 등을 사용할 수 있도록 NT 핸들을 사용하는 공유 리소스를 만드는 것이 좋습니다.]

공유 리소스에 대한 핸들을 가져옵니다.

구문

HRESULT GetSharedHandle(
  [out] HANDLE *pSharedHandle
);

매개 변수

[out] pSharedHandle

형식: HANDLE*

핸들에 대한 포인터입니다.

반환 값

형식: HRESULT

DXGI_ERROR 값 중 하나를 반환합니다.

설명

GetSharedHandle은 공유로 만든 리소스에 대한 핸들을 반환합니다(즉, D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX 플래그를 사용하거나 사용하지 않고 D3D11_RESOURCE_MISC_SHARED 설정). 이 핸들을 ID3D11Device::OpenSharedResource 메서드에 전달하여 다른 디바이스에 공유 리소스에 대한 액세스 권한을 부여할 수 있습니다. 이 핸들을 다른 프로세스로 마샬링하여 다른 프로세스의 디바이스와 리소스를 공유할 수도 있습니다. 그러나 이 핸들은 NT 핸들이 아닙니다. 따라서 CloseHandle, DuplicateHandle 등과 함께 핸들을 사용하지 마세요.

공유 리소스의 작성자는 의도한 모든 엔터티가 리소스를 열 때까지 리소스를 삭제해서는 안됩니다. 핸들의 유효성은 기본 비디오 메모리의 수명에 연결됩니다. 이 리소스를 참조하는 디바이스에 리소스 개체가 없으면 핸들이 더 이상 유효하지 않습니다. 핸들 및 비디오 메모리의 수명을 연장하려면 디바이스에서 공유 리소스를 열어야 합니다.

GetSharedHandle은ID3D11Device::OpenSharedResource 에 전달된 리소스에 대한 핸들을 반환하여 해당 리소스를 열 수도 있습니다.

핸들을 가져올 리소스가 공유되지 않으면 GetSharedHandle 이 실패합니다.

요구 사항

   
대상 플랫폼 Windows
헤더 dxgi.h
라이브러리 DXGI.lib

추가 정보

IDXGIResource