DMLCreateDevice1 函式 (directml.h)
為指定的 Direct3D 12 裝置建立 DirectML 裝置。
語法
HRESULT DMLCreateDevice1(
ID3D12Device *d3d12Device,
DML_CREATE_DEVICE_FLAGS flags,
DML_FEATURE_LEVEL minimumFeatureLevel,
REFIID riid,
void **ppv
);
參數
d3d12Device
類型: ID3D12Device*
ID3D12Device 的指標,代表用來建立 DirectML 裝置的 Direct3D 12 裝置。 DirectML 支援任何 D3D 功能層級,以及在任何適配卡上建立的 Direct3D 12 裝置,包括 WARP。 不過,根據 Direct3D 12 裝置的功能,可能無法使用 DirectML 中的所有功能。 如需詳細資訊,請參閱 IDMLDevice::CheckFeatureSupport 。
如果呼叫 DMLCreateDevice1 成功,則 DirectML 裝置會維護所提供 Direct3D 12 裝置的強式參考。
flags
類型: DML_CREATE_DEVICE_FLAGS
指定其他裝置建立選項 的DML_CREATE_DEVICE_FLAGS 值。
minimumFeatureLevel
類型: DML_FEATURE_LEVEL
DML_FEATURE_LEVEL值,指定所需的最低功能層級支援。
此參數適用於需要特定 DirectML 版本的呼叫端,但可能會發現自己呼叫為舊版 DirectML 的人員。 例如,當使用者在舊版 Windows 10 上執行您的應用程式時,就會發生這種情況。
明確相依於特定功能層級所引進功能的應用程式可以將它指定為 minimumFeatureLevel。 這可保證 DMLCreateDevice1 不會成功,除非基礎實作 至少 符合此要求的最低功能層級。
請注意,由於此參數指定 最低 功能等級,基礎 DirectML 裝置實際上可能支援比要求的最低功能層級更高的功能層級。 裝置建立成功之後,您可以使用 IDMLDevice::CheckFeatureSupport查詢此裝置支援的所有功能層級。
riid
類型: REFIID
您想要在 裝置中傳回之介面的全域唯一標識碼 (GUID) 參考。 這應該是 IDMLDevice的 GUID。
ppv
類型:_COM_Outptr_opt_ void**
接收裝置指標的記憶體區塊指標。 這是 IDMLDevice指標的位址,代表所建立的 DirectML 裝置。
傳回值
類型: HRESULT
如果函式成功,它會 傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。
如果這個版本的 DirectML 不支援要求的 minimumFeatureLevel ,則此函式會 傳回DXGI_ERROR_UNSUPPORTED。
備註
DirectML 1.1.0 版引進了較新版本的此函式 DMLCreateDevice1。 DMLCreateDevice1 相當於呼叫 DMLCreateDevice1,並提供DML_FEATURE_LEVEL_1_0的 minimumFeatureLevel。
可用性
此 API 是在 DirectML 版本中 1.1.0
引進。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 組建 20348 |
最低支援的伺服器 | Windows 10 組建 20348 |
目標平台 | Windows |
標頭 | directml.h |
程式庫 | DirectML.lib |
Dll | DirectML.dll |