다음을 통해 공유


PFND3DDDI_SETPRIORITYCB 콜백 함수(d3dumddi.h)

pfnSetPriorityCb 함수는 리소스의 우선 순위 수준 또는 할당 목록을 설정합니다.

구문

PFND3DDDI_SETPRIORITYCB Pfnd3dddiSetprioritycb;

HRESULT Pfnd3dddiSetprioritycb(
  HANDLE hDevice,
  D3DDDICB_SETPRIORITY *unnamedParam2
)
{...}

매개 변수

hDevice

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

unnamedParam2

pData [in]

리소스 또는 할당 목록을 설정하는 우선 순위 수준을 설명하는 D3DDDICB_SETPRIORITY 구조체에 대한 포인터입니다.

반환 값

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

반환 코드 설명
S_OK 우선 순위 수준이 성공적으로 설정되었습니다.
E_INVALIDARG 매개 변수의 유효성이 검사되었고 잘못된 것으로 확인되었습니다.

이 함수는 다른 HRESULT 값을 반환할 수도 있습니다.

설명

사용자 모드 표시 드라이버는 pfnSetPriorityCb 함수를 호출하여 기본 리소스 또는 할당 목록의 우선 순위를 설정할 수 있습니다. 리소스의 우선 순위 수준을 설정하면 리소스에 속하는 모든 할당이 지정된 우선 순위 수준으로 설정됩니다. 일반적으로 사용자 모드 표시 드라이버는 Microsoft Direct3D 런타임이 사용자 모드 디스플레이 드라이버의 SetPriority 또는 SetResourcePriorityDXGI 함수를 호출하여 리소스에 대한 메모리에서 제거 우선 순위를 설정한 후 리소스 또는 할당 목록의 우선 순위를 설정합니다. 그러나 사용자 모드 표시 드라이버는 언제든지 할당의 우선 순위를 설정할 수 있습니다.

애플리케이션이 표면의 우선 순위 수준을 설정하도록 요청하면 사용자 모드 표시 드라이버는 적절한 리소스 또는 할당 목록을 애플리케이션에서 지정한 우선 순위 수준으로 설정해야 합니다.

참고 우선 순위 수준은 비디오 메모리 관리자에 대한 힌트일 뿐입니다. 다양한 조건에서 메모리 관리자가 무시할 수 있습니다.
 
할당 우선 순위는 할당이 상주할 가능성과 비디오 메모리 관리자가 할당 배치에 대한 드라이버의 기본 설정을 준수하려고 시도할 가능성을 모두 정의합니다. 다음 우선 순위 수준은 D3dukmdt.h 헤더 파일에 정의되어 있습니다.

드라이버는 적절한 경우 앞의 정의된 값 이외의 우선 순위 수준을 사용할 수 있습니다. 예를 들어 우선 순위 수준이 0x78000001 할당을 표시하면 할당이 정상보다 약간 높아집니다.

예제

다음 코드 예제에서는 우선 순위 수준을 설정하는 방법을 보여줍니다.

HRESULT CD3DContext::SetPriority(CONST D3DDDIARG_SETPRIORITY* pSetPriority) {
    DWORD  dwSurfaceHandle = (DWORD)(DWORD_PTR)pSetPriority->hResource;
    CResource   &res = m_RTbl[dwSurfaceHandle];
    D3DDDICB_SETPRIORITY    setPri;
    UINT                    priority;

    priority = pSetPriority->Priority;

    memset(&setPri, 0, sizeof(setPri));

    setPri.hResource   = res.m_hResRuntime;
    setPri.pPriorities = &priority;

    return (m_d3dCallbacks.pfnSetPriorityCb(m_hD3D, &setPri));
}

요구 사항

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

추가 정보

D3DDDICB_SETPRIORITY

D3DDDI_DEVICECALLBACKS

DxgkCbCreateContextAllocation

SetPriority

SetResourcePriorityDXGI