IDXGIFactory2 ::GetSharedResourceAdapterLuid, méthode (dxgi1_2.h)
Identifie l’adaptateur sur lequel un objet de ressource partagé a été créé.
Syntaxe
HRESULT GetSharedResourceAdapterLuid(
[in] HANDLE hResource,
[out] LUID *pLuid
);
Paramètres
[in] hResource
Handle d’un objet de ressource partagé. La méthode IDXGIResource1 ::CreateSharedHandle retourne ce handle.
[out] pLuid
Pointeur vers une variable qui reçoit une valeur d’identificateur local unique (LUID) qui identifie l’adaptateur. LUID est défini dans Dxgi.h. Un LUID est une valeur 64 bits qui est garantie comme unique uniquement sur le système d’exploitation sur lequel elle a été générée. L’unicité d’un LUID n’est garanti que jusqu’à ce que le système d’exploitation soit redémarré.
Valeur retournée
GetSharedResourceAdapterLuid retourne :
- S_OK s’il a identifié l’adaptateur.
- DXGI_ERROR_INVALID_CALL si hResource n’est pas valide.
- Peut-être d’autres codes d’erreur décrits dans la rubrique DXGI_ERROR .
Mise à jour de la plateforme pour Windows 7 : Sur Windows 7 ou Windows Server 2008 R2 sur lequel la mise à jour de la plateforme pour Windows 7 est installée, GetSharedResourceAdapterLuid échoue avec E_NOTIMPL. Pour plus d’informations sur la mise à jour de plateforme pour Windows 7, consultez Mise à jour de plateforme pour Windows 7.
Remarques
Vous ne pouvez pas partager des ressources entre les adaptateurs. Par conséquent, vous ne pouvez pas ouvrir une ressource partagée sur un adaptateur autre que l’adaptateur sur lequel la ressource a été créée. Appelez GetSharedResourceAdapterLuid avant d’ouvrir une ressource partagée pour vous assurer que la ressource a été créée sur l’adaptateur approprié. Pour ouvrir une ressource partagée, appelez la méthode ID3D11Device1 ::OpenSharedResource1 ou ID3D11Device1 ::OpenSharedResourceByName .
Exemples
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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | dxgi1_2.h |
Bibliothèque | Dxgi.lib |