IDXGIFactory2::GetSharedResourceAdapterLuid 메서드(dxgi1_2.h)
공유 리소스 개체가 만들어진 어댑터를 식별합니다.
구문
HRESULT GetSharedResourceAdapterLuid(
[in] HANDLE hResource,
[out] LUID *pLuid
);
매개 변수
[in] hResource
공유 리소스 개체에 대한 핸들입니다. IDXGIResource1::CreateSharedHandle 메서드는 이 핸들을 반환합니다.
[out] pLuid
어댑터를 식별하는 LUID(로컬 고유 식별자) 값을 수신하는 변수에 대한 포인터입니다. LUID 는 Dxgi.h에 정의되어 있습니다. LUID는 생성된 운영 체제에서만 고유하도록 보장되는 64비트 값입니다. LUID의 고유성은 운영 체제가 다시 시작될 때까지만 보장됩니다.
반환 값
GetSharedResourceAdapterLuid 는 다음을 반환합니다.
- 어댑터를 식별했는지 S_OK.
- hResource가 잘못된 경우 DXGI_ERROR_INVALID_CALL.
- DXGI_ERROR 항목에 설명된 다른 오류 코드일 수 있습니다.
Windows 7용 플랫폼 업데이트: Windows 7 용 플랫폼 업데이트가 설치된 Windows 7 또는 Windows Server 2008 R2에서 GetSharedResourceAdapterLuid 는 E_NOTIMPL 함께 실패합니다. Windows 7용 플랫폼 업데이트에 대한 자세한 내용은 Windows 7용 플랫폼 업데이트를 참조하세요.
설명
어댑터 간에 리소스를 공유할 수 없습니다. 따라서 리소스를 만든 어댑터 이외의 어댑터에서 공유 리소스를 열 수 없습니다. 공유 리소스를 열기 전에 GetSharedResourceAdapterLuid 를 호출하여 리소스가 적절한 어댑터에 만들어졌도록 합니다. 공유 리소스를 열려면 ID3D11Device1::OpenSharedResource1 또는 ID3D11Device1::OpenSharedResourceByName 메서드를 호출합니다.
예제
HANDLE handle;
IDXGIFactory2* pFactory;
LUID luid;
pFactory->GetSharedResourceAdapterLuid (handle, &luid);
UINT index = 0;
IDXGIAdapter* pAdapter = NULL;
while (SUCCEEDED(pFactory->EnumAdapters(index, &pAdapter)))
{
DXGI_ADAPTER_DESC desc;
pAdapter->GetDesc(&desc);
if (desc.AdapterLuid == luid)
{
// Identified a matching adapter.
break;
}
pAdapter->Release();
pAdapter = NULL;
index++;
}
// At this point, if pAdapter is non-null, you identified an adapter that
// can open the shared resource.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2용 Windows Server 2012 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | dxgi1_2.h |
라이브러리 | Dxgi.lib |