PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB 콜백 함수(d3dumddi.h)
pfnSetDisplayPrivateDriverFormatCb 함수는 비디오 제공 원본의 private-format 특성을 변경합니다.
구문
PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB Pfnd3dddiSetdisplayprivatedriverformatcb;
HRESULT Pfnd3dddiSetdisplayprivatedriverformatcb(
HANDLE hDevice,
const D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT *unnamedParam2
)
{...}
매개 변수
hDevice
디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.
unnamedParam2
pData [in]
비디오 현재 원본의 서식을 지정하는 방법을 설명하는 D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT 구조체에 대한 포인터입니다.
반환 값
pfnSetDisplayPrivateDriverFormatCb 는 다음 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
S_OK | 비디오 현재 원본이 성공적으로 변경되었습니다. |
E_INVALIDARG | 매개 변수의 유효성이 검사되었고 잘못된 것으로 확인되었습니다. |
E_FAIL | pfnSetDisplayPrivateDriverFormatCb에서 비디오 현재 원본의 private-format 특성을 변경할 수 없습니다. |
이 함수는 다른 HRESULT 값을 반환할 수도 있습니다.
설명
비디오 현재 원본의 프라이빗 형식 특성을 변경하는 것은 공유 GDI 기본 화면이 전체 화면 DirectX 애플리케이션에 대해 최적화되지 않은 프라이빗 형식인 경우 대칭 이동 변경을 만드는 전체 화면 DirectX 애플리케이션을 수용하는 데 유용합니다. 예를 들어 디스플레이 미니포트 드라이버가 항상 GDI 공유 기본 표면을 스위즐 해제로 만든다고 가정합니다. 그러나 성능상의 이유로 사용자 모드 디스플레이 드라이버는 전체 화면 대칭 이동 체인의 모든 표면을 스위즐해야 합니다. 그런 다음 사용자 모드 표시 드라이버는 다시 버퍼를 swizzled로 만들고 pfnSetDisplayPrivateDriverFormatCb 를 호출하여 공유 GDI 기본 표면을 스위즐로 변경할 수 있습니다.
pfnSetDisplayPrivateDriverFormatCb에 대한 호출이 실패하면 현재 비디오 원본의 private-format 특성을 변경하지 않고 사용자 모드 표시 드라이버가 계속 진행되어야 합니다. 앞의 예제에서 드라이버는 공유 주 데이터베이스를 스위즐 해제된 상태로 두고 백 버퍼를 스위즐하거나 드라이버가 백 버퍼를 스위즐되지 않은 형식으로 변경할 수 있습니다.
사용자 모드 표시 드라이버가 pfnSetDisplayModeCb 함수 호출에서 D3DDDIERR_INCOMPATIBLEPRIVATEFORMAT 오류를 수신하는 경우 드라이버는 다음 중 하나를 수행할 수 있습니다.
- 기본 표면의 private-format 특성을 변경하고 pfnSetDisplayModeCb 를 다시 호출합니다.
- pfnSetDisplayPrivateDriverFormatCb를 호출하고 비디오 현재 원본의 프라이빗 형식 특성을 변경하려고 시도합니다. 그런 다음 드라이버는 pfnSetDisplayModeCb 를 다시 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | d3dumddi.h(D3dumddi.h 포함) |