Condividi tramite


Funzione DMLCreateDevice1 (directml.h)

Crea un dispositivo DirectML per un dispositivo Direct3D 12 specificato.

Sintassi

HRESULT DMLCreateDevice1(
  ID3D12Device            *d3d12Device,
  DML_CREATE_DEVICE_FLAGS flags,
  DML_FEATURE_LEVEL       minimumFeatureLevel,
  REFIID                  riid,
  void                    **ppv
);

Parametri

d3d12Device

Tipo: ID3D12Device*

Puntatore a un dispositivo ID3D12Device che rappresenta il dispositivo Direct3D 12 per creare il dispositivo DirectML tramite. DirectML supporta qualsiasi livello di funzionalità D3D e i dispositivi Direct3D 12 creati in qualsiasi scheda, tra cui WARP. Tuttavia, non tutte le funzionalità in DirectML possono essere disponibili a seconda delle funzionalità del dispositivo Direct3D 12. Per altre informazioni , vedere IDMLDevice::CheckFeatureSupport .

Se la chiamata a DMLCreateDevice1 ha esito positivo, il dispositivo DirectML mantiene un riferimento sicuro al dispositivo Direct3D 12 fornito.

flags

Tipo: DML_CREATE_DEVICE_FLAGS

Valore DML_CREATE_DEVICE_FLAGS che specifica altre opzioni di creazione del dispositivo.

minimumFeatureLevel

Tipo: DML_FEATURE_LEVEL

Valore DML_FEATURE_LEVEL che specifica il supporto minimo del livello di funzionalità richiesto.

Questo parametro può essere utile per i chiamanti che richiedono una versione specifica di DirectML, ma chi può chiamare in una versione precedente di DirectML. Ciò può verificarsi, ad esempio, quando l'utente esegue l'applicazione in una versione precedente di Windows 10.

Le applicazioni che dipendono in modo esplicito dalle funzionalità introdotte in un determinato livello di funzionalità possono specificarlo come minimoFeatureLevel. In questo modo, DMLCreateDevice1 non avrà esito positivo a meno che l'implementazione sottostante non sia almeno in grado di supportare questo livello minimo di funzionalità richiesto.

Si noti che come questo parametro specifica un livello di funzionalità minimo , il dispositivo DirectML sottostante può infatti supportare un livello di funzionalità superiore rispetto al minimo richiesto. Una volta completata la creazione del dispositivo, è possibile eseguire query su tutti i livelli di funzionalità supportati da questo dispositivo usando IDMLDevice::CheckFeatureSupport.

riid

Tipo: REFIID

Riferimento all'identificatore univoco globale (GUID) dell'interfaccia da restituire nel dispositivo. Si prevede che sia il GUID di IDMLDevice.

ppv

Tipo: _COM_Outptr_opt_ void**

Puntatore a un blocco di memoria che riceve un puntatore al dispositivo. Si tratta dell'indirizzo di un puntatore a un IDMLDevice, che rappresenta il dispositivo DirectML creato.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Se questa versione di DirectML non supporta il minimo RichiestoFeatureLevel , questa funzione restituirà DXGI_ERROR_UNSUPPORTED.

Commenti

Una versione più recente di questa funzione, DMLCreateDevice1, è stata introdotta in DirectML versione 1.1.0. DMLCreateDevice1 equivale a chiamare DMLCreateDevice1 e fornire un minimoFeatureLevel di DML_FEATURE_LEVEL_1_0.

Disponibilità

Questa API è stata introdotta in DirectML versione 1.1.0.

Requisiti

Requisito Valore
Client minimo supportato Windows 10 Build 20348
Server minimo supportato Windows 10 Build 20348
Piattaforma di destinazione Windows
Intestazione directml.h
Libreria DirectML.lib
DLL DirectML.dll

Vedi anche