PFND3DDDI_CREATEDEVICE 콜백 함수(d3dumddi.h)

CreateDevice 함수는 후속 호출에서 참조되는 그래픽 컨텍스트를 만듭니다.

구문

PFND3DDDI_CREATEDEVICE Pfnd3dddiCreatedevice;

HRESULT Pfnd3dddiCreatedevice(
  HANDLE hAdapter,
  D3DDDIARG_CREATEDEVICE *unnamedParam2
)
{...}

매개 변수

hAdapter

그래픽 어댑터를 식별하는 핸들입니다.

unnamedParam2

pCreateData [in, out]

D3DDDIARG_CREATEDEVICE 구조체에 대한 포인터입니다. 입력에서 이 구조체에는 드라이버에서 사용할 수 있는 정보가 포함됩니다. 출력 시 드라이버는 Microsoft Direct3D 런타임에서 사용할 수 있는 구조의 정보를 지정합니다.

반환 값

CreateDevice는 다음 값 중 하나를 반환합니다.

반환 코드 설명
S_OK 그래픽 컨텍스트가 성공적으로 생성되었습니다.
E_OUTOFMEMORY CreateDevice 에서 완료하는 데 필요한 메모리를 할당할 수 없습니다.

설명

디스플레이 디바이스는 렌더링 상태 컬렉션을 보유하는 데 사용되는 그래픽 컨텍스트입니다. 지정된 어댑터에서 동일한 프로세스로 여러 디바이스를 만들 수 있습니다. 동시에 존재할 수 있는 디스플레이 디바이스 수는 사용 가능한 시스템 메모리에 의해서만 제한됩니다. 즉, 드라이버는 최대 디바이스 제한을 하드 코딩할 수 없습니다.

일반적으로 디바이스는 서로 독립적이므로 한 디바이스에서 만든 리소스는 다른 디바이스에서 만든 리소스에서 참조하거나 액세스할 수 없습니다. 그러나 프로세스 간 리소스는 이 규칙의 예외입니다.

Direct3D 런타임이 CreateDevice 를 호출하여 디바이스를 만들 때 런타임은 디바이스에 대한 실행의 기본 GPU(그래픽 처리 장치) 컨텍스트 스레드를 만들지 않습니다. 드라이버는 pfnCreateContextCb 함수를 명시적으로 호출하여 필요에 따라 하나 이상의 컨텍스트를 만들어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDIARG_CREATEDEVICE

D3DDDI_ADAPTERFUNCS

DestroyDevice