다음을 통해 공유


DXGIDDICB_PRESENT 구조체(dxgiddi.h)

DXGIDDICB_PRESENT 구조는 콘텐츠가 복사되는 할당을 설명합니다.

구문

typedef struct DXGIDDICB_PRESENT {
  [in] D3DKMT_HANDLE               hSrcAllocation;
  [in] D3DKMT_HANDLE               hDstAllocation;
  [in] void                        *pDXGIContext;
  [in] HANDLE                      hContext;
  [in] UINT                        BroadcastContextCount;
       HANDLE                      BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
       D3DKMT_HANDLE               *BroadcastSrcAllocation;
       D3DKMT_HANDLE               *BroadcastDstAllocation;
       UINT                        PrivateDriverDataSize;
       PVOID                       pPrivateDriverData;
       BOOLEAN                     bOptimizeForComposition;
       BOOL                        SyncIntervalOverrideValid;
       DXGI_DDI_FLIP_INTERVAL_TYPE SyncIntervalOverride;
} DXGIDDICB_PRESENT;

멤버

[in] hSrcAllocation

원본 할당에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식입니다. Microsoft Direct3D 런타임의 pfnAllocateCb 함수는 이 핸들을 반환합니다. 따라서 사용자 모드 표시 드라이버는 이 핸들을 사용하여 콘텐츠를 복사해야 합니다.

[in] hDstAllocation

대상 할당에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식입니다. 대상을 알 수 없는 경우 hDstAllocation은 0일 수 있습니다. 커널 모드는 DMA를 통해 하드웨어 명령 스트림을 그래픽 프로세서로 보내기 직전에 대상을 결정합니다.

[in] pDXGIContext

Microsoft DXGI(DirectX Graphics Infrastructure) 컨텍스트에 대한 핸들입니다. 이 핸들은 드라이버에 불투명합니다. 드라이버는 이 멤버에 대한 PresentDXGI 함수 호출에서 드라이버가 받은 DXGI_DDI_ARG_PRESENT 구조체의 pDXGIContext 멤버에서 핸들을 할당해야 합니다.

[in] hContext

드라이버가 복사 작업을 제출하는 컨텍스트에 대한 핸들입니다. 사용자 모드 표시 드라이버는 이전에 pfnCreateContextCb 함수를 호출하여 이 컨텍스트를 만들었습니다.

[in] BroadcastContextCount

BroadcastContext 멤버가 지정하는 배열의 추가 컨텍스트 수입니다.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

현재 작업을 브로드캐스트할 추가 컨텍스트에 대한 핸들 배열입니다. 64로 정의된 D3DDDI_MAX_BROADCAST_CONTEXT 상수는 사용자 모드 표시 드라이버가 현재 작업을 브로드캐스트할 수 있는 최대 추가 컨텍스트 수를 정의합니다.

브로드캐스트는 대칭 이동 작업에 대해서만 지원됩니다. 대칭 이동 작업을 브로드캐스트하려면 디스플레이 미니포트 드라이버가 MMIO(메모리 매핑 I/O) 기반 대칭 이동을 지원해야 합니다. MMIO 대칭 이동 지원을 나타내기 위해 디스플레이 미니포트 드라이버는 DxgkDdiQueryAdapterInfo 함수가 호출되면 DXGK_DRIVERCAPS 구조체의 FlipCaps 멤버에 FlipOnVSyncMmIo 비트 필드 플래그를 설정합니다.

hContext 멤버가 지정하고 사용자 모드 표시 드라이버가 표시하는 원래 컨텍스트는 BroadcastContext 배열의 요소가 아닙니다. 예를 들어 BroadcastContext 배열에 하나의 요소가 포함된 경우 사용자 모드 표시 드라이버는 현재 작업을 소유 컨텍스트(hContext)로 보내고 해당 하나의 추가 컨텍스트로 브로드캐스트합니다.

BroadcastSrcAllocation

표시할 콘텐츠를 할당합니다.

BroadcastDstAllocation

0이 아닌 경우 는 현재 의 대상 할당을 나타냅니다.

PrivateDriverDataSize

프라이빗 드라이버 데이터 크기(바이트)입니다.

pPrivateDriverData

DxgiPresent에 전달할 프라이빗 드라이버 데이터입니다.

bOptimizeForComposition

DWM은 컴퍼지션에 관여합니다.

SyncIntervalOverrideValid

앱 동기화 간격 재정의가 유효합니다.

SyncIntervalOverride

앱 동기화 간격을 재정의합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
머리글 dxgiddi.h(D3d10umddi.h 포함)

추가 정보

DXGI_DDI_ARG_PRESENT

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

PresentDXGI

pfnAllocateCb

pfnCreateContextCb

pfnPresentCbDXGI