다음을 통해 공유


D3DKMT_PRESENT 구조체(d3dkmthk.h)

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

구문

typedef struct _D3DKMT_PRESENT {
  union {
    [in] D3DKMT_HANDLE hDevice;
    [in] D3DKMT_HANDLE hContext;
  };
  void                           D3DKMT_PTR(
    HWND    unnamedParam1,
    hWindow unnamedParam2
  );
  [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;
  void                           D3DKMT_PTR(
    const RECT   *unnamedParam1,
    pSrcSubRects unnamedParam2
  );
  [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;
  void                           D3DKMT_PTR(
    D3DKMT_HANDLE          *unnamedParam1,
    BroadcastSrcAllocation unnamedParam2
  );
  void                           D3DKMT_PTR(
    D3DKMT_HANDLE          *unnamedParam1,
    BroadcastDstAllocation unnamedParam2
  );
       UINT                           PrivateDriverDataSize;
  void                           D3DKMT_PTR(
    PVOID              unnamedParam1,
    pPrivateDriverData unnamedParam2
  );
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

멤버

[in] hDevice

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

[in] hContext

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

void D3DKMT_PTR( HWND unnamedParam1, hWindow unnamedParam2)

[in] VidPnSourceId

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

RestrictVidPnSource 비트 필드 플래그가 설정되고 hWindow 멤버가 NULL인 경우 VidPnSourceId 멤버는 전체 화면 비트blt가 RestrictVidPnSource가 설정되고 hWindowNULL이 아닌 경우 로 이동되는 출력을 나타내며, 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 멤버에 설정되면 색 채우기 값이 설정됩니다. 색 키 값은 Flags 멤버에서 SrcColorKey 또는 DstColorKey 비트 필드 플래그를 설정할 때 설정됩니다. ColorFill, SrcColorKeyDstColorKey 비트 필드 플래그 중 하나만 언제든지 설정됩니다.

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

[in] DstRect

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

[in] SrcRect

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

[in] SubRectCnt

pSrcSubRects가 표시할 때 지정된 을 가리키는 하위 영역의 수입니다.

void D3DKMT_PTR( const RECT *unnamedParam1, pSrcSubRects unnamedParam2)

[in] PresentCount

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

[in] FlipInterval

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

[in] Flags

비트 필드 플래그에서 표시하는 방법을 식별하는 D3DKMT_PRESENTFLAGS 구조체입니다. ColorFill, SrcColorKeyDstColorKey 비트 필드 플래그는 상호 배타적입니다.

[in] BroadcastContextCount

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

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

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

브로드캐스트는 대칭 이동 작업에 대해서만 지원됩니다. 대칭 이동 작업을 브로드캐스트하려면 디스플레이 미니포트 드라이버가 MMIO(메모리 매핑 I/O) 기반 대칭 이동을 지원해야 합니다. 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 플래그가 설정된 경우에만 유효합니다.

void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastSrcAllocation unnamedParam2)

void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastDstAllocation unnamedParam2)

PrivateDriverDataSize

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

void D3DKMT_PTR( PVOID unnamedParam1, pPrivateDriverData unnamedParam2)

bOptimizeForComposition

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
머리글 d3dkmthk.h(D3dkmthk.h 포함)

추가 정보

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT