다음을 통해 공유


PFND3D11DDI_CREATERESOURCE 콜백 함수(d3d10umddi.h)

리소스를 만듭니다.

구문

PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;

void Pfnd3d11ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D11DDIARG_CREATERESOURCE *unnamedParam2,
  D3D10DDI_HRESOURCE unnamedParam3,
  D3D10DDI_HRTRESOURCE unnamedParam4
)
{...}

매개 변수

unnamedParam1

hDevice [in]

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

pCreateResource [in]

사용자 모드 표시 드라이버가 리소스를 만드는 데 사용하는 매개 변수를 설명하는 D3D11DDIARG_CREATERESOURCE 구조체에 대한 포인터입니다.

unnamedParam3

hResource [in]

리소스에 대한 드라이버의 개인 데이터에 대한 핸들입니다.

unnamedParam4

hRTResource [in]

드라이버가 Direct3D 런타임으로 다시 호출할 때 사용할 리소스에 대한 핸들입니다.

반환 값

없음

설명

드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.

드라이버에 메모리가 부족할 수 있습니다. 따라서 드라이버는 pfnSetErrorCb 함수에 대한 호출에서 E_OUTOFMEMORY 또는 D3DDDIERR_DEVICEREMOVED 전달할 수 있습니다. 드라이버는 pfnSetErrorCb 호출에서 DXGI_DDI_ERR_UNSUPPORTED 전달할 수도 있습니다. DXGI_DDI_ERR_UNSUPPORTED 전달하는 방법에 대한 자세한 내용은 BltDXGI 참조 페이지의 설명 섹션을 참조하세요. Direct3D 런타임은 다른 오류가 중요한지 확인합니다. 드라이버가 D3DDDIERR_DEVICEREMOVED 포함하는 오류를 전달하면 Direct3D 런타임에서 핸들이 유효하지 않다고 결정합니다. 따라서 런타임은 hResource 매개 변수가 지정하는 핸들을 삭제하기 위해 DestroyResource(D3D10) 함수를 호출하지 않습니다.

런타임은 애플리케이션이 리소스를 만들기 위해 보낸 매개 변수에 대해 모든 매개 변수의 유효성을 검사합니다. 따라서 드라이버가 잘못된 조합을 수신해서는 안 됩니다.

애플리케이션에서 프레젠테이션 간에 리소스의 콘텐츠를 유지할 필요가 없는 경우 런타임은 pCreateResource 매개 변수가 가리키는 D3D11DDIARG_CREATERESOURCE 구조체의 MiscFlags 멤버에서 D3D10_DDI_RESOURCE_MISC_FLAG 열거형의 D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT 플래그를 설정합니다. 프레젠테이션은 드라이버의 PresentDXGI 또는 BltDXGI(DXGI_DDI_ARG_BLT_FLAGS 구조에 Present 플래그가 설정된) 함수가 호출되면 발생합니다. 런타임은 애플리케이션이 DXGI_SWAP_EFFECT_DISCARD 값을 사용하여 스왑 체인을 요청할 때 D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT 플래그를 사용하여 스왑 체인 백 버퍼를 만듭니다.

스테레오 백 버퍼 만들기

Windows 8 드라이버가 스테레오 백 버퍼를 만들어야 하는 경우 다음과 같이 pCreateResource가 가리키는 D3D11DDIARG_CREATERESOURCE 구조체의 멤버를 설정해야 합니다.
  1. ArraySize 멤버를 2 값으로 설정합니다.
  2. BindFlags 멤버에서 D3D10_DDI_BIND_PRESENT 플래그 값을 설정합니다.
또한 스테레오 프레젠테이션을 지원하려면 BltDXGI 함수는 원본 및 대상 리소스 범위 내에 있는 DXGI_DDI_ARG_BLT 구조체의 DstSubresourceSrcSubresource 멤버에 대한 모든 값을 허용해야 합니다.

입력 값에 대한 제한 사항

WDDM(Windows 디스플레이 드라이버 모델) 1.3 이상 드라이버의 경우 Microsoft Direct3D 런타임은 이 함수에서 사용하는 제한된 입력 값 집합을 제공합니다. 모든 제한된 값 목록은 [Direct3D 렌더링 성능 향상](/windows-hardware/drivers/display/direct3d-rendering-performance-improvements)을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 CreateResource(D3D11)는 Windows 7 운영 체제부터 지원됩니다.
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

BltDXGI

CalcPrivateResourceSize(D3D11)

D3D10_DDI_RESOURCE_MISC_FLAG

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DXGI_DDI_ARG_BLT_FLAGS

DestroyResource(D3D10)

PresentDXGI

pfnSetErrorCb