Condividi tramite


Metodo IDXGIFactory2::GetSharedResourceAdapterLuid (dxgi1_2.h)

Identifica l'adapter in cui è stato creato un oggetto risorsa condivisa.

Sintassi

HRESULT GetSharedResourceAdapterLuid(
  [in]  HANDLE hResource,
  [out] LUID   *pLuid
);

Parametri

[in] hResource

Handle a un oggetto risorsa condivisa. Il metodo IDXGIResource1::CreateSharedHandle restituisce questo handle.

[out] pLuid

Puntatore a una variabile che riceve un valore di identificatore univoco locale (LUID) che identifica l'adapter. LUID è definito in Dxgi.h. Un LUID è un valore a 64 bit che è garantito essere univoco solo nel sistema operativo in cui è stato generato. L'univocità di un LUID è garantita solo fino al riavvio del sistema operativo.

Valore restituito

GetSharedResourceAdapterLuid restituisce:

  • S_OK se ha identificato l'adattatore.
  • DXGI_ERROR_INVALID_CALL se hResource non è valido.
  • Eventualmente altri codici di errore descritti nell'argomento DXGI_ERROR .

Aggiornamento della piattaforma per Windows 7: In Windows 7 o Windows Server 2008 R2 con l'aggiornamento della piattaforma per Windows 7 installato, GetSharedResourceAdapterLuid ha esito negativo con E_NOTIMPL. Per altre informazioni sull'aggiornamento della piattaforma per Windows 7, vedere Platform Update per Windows 7.

Commenti

Non è possibile condividere le risorse tra schede. Pertanto, non è possibile aprire una risorsa condivisa in un adattatore diverso dall'adapter in cui è stata creata la risorsa. Chiamare GetSharedResourceAdapterLuid prima di aprire una risorsa condivisa per assicurarsi che la risorsa sia stata creata nella scheda appropriata. Per aprire una risorsa condivisa, chiamare il metodo ID3D11Device1::OpenSharedResource1 o ID3D11Device1::OpenSharedResourceByName .

Esempio

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.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione dxgi1_2.h
Libreria Dxgi.lib

Vedi anche

IDXGIFactory2