다음을 통해 공유


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*

DirectML 디바이스를 만들 Direct3D 12 디바이스를 나타내는 ID3D12Device 에 대한 포인터입니다. DirectML은 WARP를 비롯한 모든 어댑터에서 만든 모든 D3D 기능 수준 및 Direct3D 12 디바이스를 지원합니다. 그러나 DirectML의 모든 기능은 Direct3D 12 디바이스의 기능에 따라 사용할 수 있는 것은 아닙니다. 자세한 내용은 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(Globally Unique Identifier)에 대한 참조입니다. IDMLDevice의 GUID가 될 것으로 예상됩니다.

ppv

형식: _COM_Outptr_opt_ void**

디바이스에 대한 포인터를 수신하는 메모리 블록에 대한 포인터입니다. 생성된 DirectML 디바이스를 나타내는 IDMLDevice에 대한 포인터의 주소입니다.

반환 값

형식: HRESULT

함수가 성공하면 S_OK를 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

이 버전의 DirectML이 요청한 minimumFeatureLevel을 지원하지 않는 경우 이 함수는 DXGI_ERROR_UNSUPPORTED 반환합니다.

설명

이 함수의 최신 버전인 DMLCreateDevice1은 DirectML 버전 1.1.0에 도입되었습니다. DMLCreateDevice1DMLCreateDevice1을 호출하고 DML_FEATURE_LEVEL_1_0 최소FeatureLevel을 제공하는 것과 같습니다.

가용성

이 API는 DirectML 버전 1.1.0에서 도입되었습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 빌드 20348
지원되는 최소 서버 Windows 10 빌드 20348
대상 플랫폼 Windows
헤더 directml.h
라이브러리 DirectML.lib
DLL DirectML.dll

추가 정보