Поделиться через


Метод 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, если он идентифицировал адаптер.
  • DXGI_ERROR_INVALID_CALL , если hResource является недопустимым.
  • Возможно, другие коды ошибок, описанные в разделе DXGI_ERROR .

Обновление платформы для Windows 7: В Windows 7 или Windows Server 2008 R2 с установленным Обновлением платформы для Windows 7getSharedResourceAdapterLuid завершается сбоем с 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 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header dxgi1_2.h
Библиотека Dxgi.lib

См. также раздел

IDXGIFactory2