다음을 통해 공유


D3DKMT_PRESENT 구조체(d3dkmthk.h)

D3DKMT_PRESENT 구조체는 현재 작업을 설명합니다.

통사론

typedef struct _D3DKMT_PRESENT {
  union {
    [in] D3DKMT_HANDLE hDevice;
    [in] D3DKMT_HANDLE hContext;
  };
  [in] HWND                           hWindow;
  [in] D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  [in] D3DKMT_HANDLE                  hSource;
  [in] D3DKMT_HANDLE                  hDestination;
  [in] UINT                           Color;
  [in] RECT                           DstRect;
  [in] RECT                           SrcRect;
  [in] UINT                           SubRectCnt;
  [in] const RECT                     *pSrcSubRects;
  [in] UINT                           PresentCount;
  [in] D3DDDI_FLIPINTERVAL_TYPE       FlipInterval;
  [in] D3DKMT_PRESENTFLAGS            Flags;
  [in] ULONG                          BroadcastContextCount;
       D3DKMT_HANDLE                  BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [in] HANDLE                         PresentLimitSemaphore;
  [in] D3DKMT_PRESENTHISTORYTOKEN     PresentHistoryToken;
       D3DKMT_PRESENT_RGNS            *pPresentRegions;
  union {
         D3DKMT_HANDLE hAdapter;
         D3DKMT_HANDLE hIndirectContext;
  };
       UINT                           Duration;
       D3DKMT_HANDLE                  *BroadcastSrcAllocation;
       D3DKMT_HANDLE                  *BroadcastDstAllocation;
       UINT                           PrivateDriverDataSize;
       PVOID                          pPrivateDriverData;
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

회원

[in] hDevice

표시할 디바이스에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식입니다. 디바이스 핸들은 microsoft Direct3D 버전 10과의 호환성을 위해 D3DKMT_PRESENT 포함된 공용 구조체의 D3DKMTPresent 함수에 제공됩니다.

[in] hContext

표시할 디바이스 컨텍스트에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식입니다.

[in] hWindow

비트 블록 전송(비트블렛)이 적용되는 창에 대한 핸들입니다. NULL 값은 바탕 화면 창을 나타냅니다. Blt 또는 ColorFill 비트 필드 플래그가 Flags 멤버에 지정되지 않는 한 hWindow 값은 NULL 수 있습니다.

[in] VidPnSourceId

RestrictVidPnSource 비트 필드 플래그가 Flags 멤버에 설정된 경우 표시를 제한할 비디오 프레젠테이션 네트워크(VidPN) 토폴로지 경로에 있는 비디오 현재 원본의 0부터 시작하는 식별 번호입니다.

RestrictVidPnSource 비트 필드 플래그가 설정되고 hWindow 멤버가 NULL경우 VidPnSourceId 멤버는 전체 화면 비트blt이 직접 출력되는 출력을 나타냅니다. RestrictVidPnSource 설정되고 hWindow 비-NULL경우 VidPnSourceId 창이 있는 비트 블록 전송을 제한할 출력을 나타냅니다.

[in] hSource

ColorFill 비트 필드 플래그가 Flags 멤버에 설정되지 않은 경우 시스템 메모리 또는 주 할당에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식입니다.

[in] hDestination

대상 할당에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식입니다. 대상을 알 수 없는 경우 hDestination 0일 수 있습니다.

hDestination 핸들은 Blt 비트 필드 플래그가 Flags 멤버에 설정된 경우에만 유효합니다.

hDestination 멤버의 핸들이 0이 아닌 경우 hDestinationhWindow 핸들은 동일한 크기의 두 가지 기본 할당을 참조해야 합니다. hDevice 멤버의 디바이스는 VidPnSourceId 멤버로 식별되는 비디오 현재 원본을 소유해야 하며 SrcRectValid 비트 필드 플래그는 Flags 멤버에서 설정해야 합니다.

[in] Color

ARGB 32비트(D3DDDIFORMAT 열거형 참조) 색 채우기 또는 색 키 값입니다. 색 채우기 값은 ColorFill 비트 필드 플래그가 Flags 멤버에 설정되면 설정됩니다. 색 키 값은 SrcColorKey 또는 DstColorKey 비트 필드 플래그가 Flags 멤버에 설정된 경우 설정됩니다. ColorFill, SrcColorKeyDstColorKey 비트 필드 플래그 중 하나만 언제든지 설정됩니다.

기본 형식이 palettized RGB인 경우 Color D3DDDIFORMAT D3DDDIFMT_A8R8G8B8 값이 아닌 색상표 인덱스가 포함됩니다.

[in] DstRect

비트블렛에 대한 선택적 대상 RECT. 대상 RECT는 DstRectValid 비트 필드 플래그가 Flags 멤버에 설정된 경우에만 사용됩니다.

[in] SrcRect

비트블렛에 대한 선택적 원본 RECT입니다. 원본 RECT는 SrcRectValid 비트 필드 플래그가 Flags 멤버에 설정된 경우에만 사용됩니다.

[in] SubRectCnt

pSrcSubRects를 표시할 때 지정된 하위 영역의 수입니다.

[in] pSrcSubRects

프레젠테이션할 때 지정된 RECT(하위 영역) 배열에 대한 포인터입니다.

[in] PresentCount

hDevice지정된 디바이스에 대해 큐에 대기할 수 있는 현재 작업의 수입니다.

[in] FlipInterval

대칭 이동 간격을 나타내는 D3DDDI_FLIPINTERVAL_TYPE형식화된 값입니다(즉, 대칭 이동이 0, 1, 2, 3 또는 4개의 세로 동기화 후 발생하는 경우).

[in] Flags

비트 필드 플래그에서 표시 방법을 식별하는 D3DKMT_PRESENTFLAGS 구조체입니다. ColorFill, SrcColorKeyDstColorKey 비트 필드 플래그는 함께 사용할 수 없습니다.

[in] BroadcastContextCount

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

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

현재 현재 작업을 브로드캐스트할 추가 컨텍스트에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식의 배열입니다. 64로 정의된 D3DDDI_MAX_BROADCAST_CONTEXT 상수는 OpenGL ICD가 현재 작업을 브로드캐스트할 수 있는 최대 컨텍스트 수를 정의합니다.

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

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

[in] PresentLimitSemaphore

현재 제한 세마포에 대한 핸들입니다.

Windows 7부터 지원됩니다.

[in] PresentHistoryToken

현재 작업의 형식을 식별하는 D3DKMT_PRESENTHISTORYTOKEN 구조체입니다.

Windows 7부터 지원됩니다.

pPresentRegions

더티 및 이동 영역을 식별하는 D3DKMT_PRESENT_RGNS 구조체에 대한 포인터입니다.

Windows 8부터 지원됩니다.

hAdapter

그래픽 어댑터에 대한 핸들입니다.

hIndirectContext

DoD 현재 경로를 통해 리디렉션하기 위한 간접 어댑터 컨텍스트입니다. 이 멤버는 PresentIndirect 플래그가 설정된 경우에만 유효합니다.

Duration

현재 기간당. DurationValid 플래그가 설정된 경우에만 유효합니다.

BroadcastSrcAllocation

원본에 대한 연결된 디스플레이 어댑터입니다.

BroadcastDstAllocation

대상에 대한 연결된 디스플레이 어댑터입니다.

PrivateDriverDataSize

프라이빗 드라이버 데이터 크기입니다.

pPrivateDriverData

선택적 프라이빗 드라이버 데이터가 포함된 버퍼에 대한 포인터입니다.

bOptimizeForComposition

디바이스가 컴퍼지션에 최적화되어 있는지 여부를 나타냅니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista
헤더 d3dkmthk.h(D3dkmthk.h 포함)

참고 항목

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT