IDCompositionTexture::GetAvailableFence 메서드(dcomp.h)

중요

일부 정보는 상용 출시 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.

해당 정보가 알려진 경우 컴퍼지션 텍스처를 사용할 수 있게 되는 시기를 나타내는 Direct3D 동기화 펜스/값 쌍을 검색합니다. 반환되는 값은 컴퍼지션 텍스처의 가용성 상태에 따라 달라집니다. 가용성 상태는 컴퍼지션 텍스처로 렌더링하는 것이 안전한지 여부와 시기를 지정합니다.

가용성 상태, 설명 및 각 상태에 대해 GetAvailableFence가 작동하는 방식에 대한 설명 섹션을 참조하세요.

컴퍼지션 텍스처를 사용할 수 있게 되면 앱은 참조하는 Direct3D 텍스처의 정확한 하위 구성으로만 렌더링을 실행하도록 주의해야 합니다.

구문

HRESULT GetAvailableFence(
  UINT64 *fenceValue,
  REFIID iid,
  void   **availableFence
);

매개 변수

fenceValue

형식: _Out_ UINT64*

반환된 펜스 값입니다.

iid

형식: _In_ REFIID

인터페이스 식별자입니다.

availableFence

형식: _Outptr_result_maybenull_ void**

컴퍼지션 텍스처의 가용성 상태에 따라 반환된 사용 가능한 펜스 또는 nullptr입니다. 자세한 내용은 설명 섹션을 참조하세요 .

반환 값

형식: HRESULT

함수가 성공하면 S_OK를 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

다음은 가용성 상태, 해당 설명 및 GetAvailableFence 가 각 상태에 대해 작동하는 방식입니다.

즉시 사용할 수 있습니다. 컴퍼지션 텍스처는 DWM(데스크톱 창 관리자)에서 표시되지 않으며 애플리케이션 커밋이 큐에 대기되지 않습니다. 따라서 컴퍼지션 텍스처는 즉시 쓰기가 안전합니다. GetAvailableFence 는 이미 반환된 값과 일치하는 사용 가능한 펜스를 반환합니다.

곧 사용할 수 있습니다. 컴퍼지션 텍스처는 현재 DWM에서 표시되고 있지만 애플리케이션은 시각적 트리에서 제거하고 DWM에 커밋했습니다. 그러나 해당 커밋은 DWM에서 아직 처리되지 않았으므로 DWM은 아직 텍스처 표시를 중지하지 않았습니다. 해당 작업이 텍스처의 사용 가능한 펜스와 동기화되는 경우 앱은 곧 사용 가능한 텍스처로 렌더링할 수 있습니다. GetAvailableFence 는 사용 가능한 펜스를 반환합니다. 컴퍼지션 텍스처는 해당 펜스가 반환된 값에 신호를 받을 때 에 기록해도 안전합니다.

사용할 수 없습니다. 컴퍼지션 텍스처는 현재 DWM에서 표시되고 있거나 DWM에서 표시하기 위해 큐에 대기 중입니다. 따라서 앱은 앱을 작성해서는 안 됩니다. GetAvailableFence 는 펜스 대신 를 반환합니다 nullptr .

사용 가능한 펜스는 단일 컴퍼지션 텍스처의 가용성을 설명합니다. 각 컴퍼지션 텍스처가 원본 사각형(아틀래싱이라고 하는 기술)을 지정하여 더 큰 Direct3D 텍스처의 다른(겹치지 않는) 영역을 사용하는 경우 여러 컴퍼지션 텍스처가 동일한 Direct3D 텍스처를 참조할 수 있습니다. 이러한 경우 컴퍼지션 텍스처를 사용할 수 있게 되면 앱은 Direct3D 텍스처의 정확한 하위 리전으로만 렌더링을 실행하도록 주의해야 합니다. 다른 컴퍼지션 텍스처에 속할 수 있는 픽셀(사용할 수 없음)을 방해하지 않도록 합니다. 단일 Direct3D 텍스처의 다른 지역에는 가용성 상태가 다를 수 있기 때문입니다.

요구 사항

요구 사항
헤더 dcomp.h

추가 정보