다음을 통해 공유


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
  • IDXGISurface1::GDI 상호 운용 가능한 화면에 대한 GetDC
런타임은 공유 표면 소유자가 변경되거나 표면이 GDI 상호 운용에 사용될 때마다 드라이버의 ResolveSharedResource 함수를 호출합니다. 런타임은 pData 매개 변수를 통해 hDevice 매개 변수 및 표면을 통해 디스플레이 디바이스에 대한 핸들이 있는 ResolveSharedResource 제공합니다.

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

요구 사항

요구
지원되는 최소 클라이언트 ResolveSharedResource는 Windows 7 운영 체제부터 지원됩니다.
대상 플랫폼 바탕 화면
헤더 d3dumddi.h(D3dumddi.h 포함)

참고 항목

D3DDDIARG_RESOLVESHAREDRESOURCE

D3DDDI_DEVICEFUNCS