다음을 통해 공유


PFND3DDDI_RESOLVESHAREDRESOURCE 콜백 함수(d3dumddi.h)

ResolveSharedResource 함수는 공유 표면의 소유권이 변경되었거나 표면이 GDI 상호 운용에 사용되고 있음을 사용자 모드 디스플레이 드라이버에 알립니다.

구문

PFND3DDDI_RESOLVESHAREDRESOURCE Pfnd3dddiResolvesharedresource;

HRESULT Pfnd3dddiResolvesharedresource(
  HANDLE hDevice,
  const D3DDDIARG_RESOLVESHAREDRESOURCE *unnamedParam2
)
{...}

매개 변수

hDevice

공유 표면 또는 GDI 상호 운용 가능한 표면과 연결된 디스플레이 디바이스(즉, 그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

pData [in]

표면에 대한 핸들을 포함하는 D3DDDIARG_RESOLVESHAREDRESOURCE 구조체에 대한 포인터입니다.

반환 값

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

반환 코드 설명
S_OK 리소스가 성공적으로 확인되었습니다.
D3DDDIERR_DEVICEREMOVED 드라이버가 그래픽 어댑터가 제거되었음을 감지합니다. 따라서 드라이버가 작업을 완료하지 못했습니다. 드라이버에서 어댑터 제거 조건을 알 수 없는 경우 드라이버는 이 오류 코드를 반환할 필요가 없습니다.

설명

Direct3D 런타임은 애플리케이션이 다음 함수 중 하나를 호출할 때 ResolveSharedResource 를 호출합니다.

  • 동기화된 공유 화면의 IDXGIKeyedMutex::ReleaseSynch
  • GDI 상호 운용 가능한 표면에 대한 IDXGISurface1::GetDC
런타임은 공유 표면 소유자가 변경되거나 표면이 GDI 상호 운용에 사용될 때마다 드라이버의 ResolveSharedResource 함수를 호출합니다. 런타임은 hDevice 매개 변수를 통해 디스플레이 디바이스에 대한 핸들과 pData 매개 변수를 통해 Surface를 통해 ResolveSharedResource를 제공합니다.

드라이버는 ResolveSharedResource 를 구현하여 여러 GPU 시나리오에 대한 리소스를 적절하게 관리합니다. 렌더링할 여러 GPU에 대해 각 리소스를 메모리 간에 나눌 수 있습니다. 드라이버는 ResolveSharedResource를 구현하여 새 리소스 소유자가 병합된 리소스를 없도록 각 리소스를 다시 병합할 수 있습니다. 드라이버는 리소스를 수정할 수 있는 부분적으로 빌드된 명령 버퍼를 플러시해야 합니다.

요구 사항

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

추가 정보

D3DDDIARG_RESOLVESHAREDRESOURCE

D3DDDI_DEVICEFUNCS