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 |