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 |
Library | Dxgi.lib |