> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CreatePlacedResource2 (XBOX Series 콘솔)

> ID3D12Device10::CreatePlacedResource2는 원래 API에 비해 확장된 매개 변수를 사용하여 XBOX Series 콘솔의 Direct3D 12에서 힙에 배치된 리소스를 만듭니다.

특정 힙에 배치되는 리소스를 만듭니다. 배치된 리소스는 사용 가능한 가장 가벼운 리소스 객체이며, 만들고 파괴하는 데 가장 빠릅니다.

애플리케이션은 힙 영역에서 여러 Direct3D 배치 및 예약 리소스를 겹쳐 배치하여 비디오 메모리를 재사용할 수 있습니다. 단순 메모리 재사용 모델([설명](#remarks)에 설명됨)은 언제든지 어느 겹치는 리소스가 유효한지 명확하게 하기 위해 존재합니다. 그래픽 도구 지원을 최대화하기 위해 이 단순 모델에서는 데이터 상속이 지원되지 않으며, 더 세밀한 타일 및 하위 리소스 무효화가 지원되지 않습니다. 전체 겹치는 리소스 무효화만 발생합니다.

DirectX 12 Agility SDK 1.7 이상이 필요합니다.

## 구문

```cpp theme={null}
HRESULT CreatePlacedResource2(
    ID3D12Heap  pHeap,
    UINT64 HeapOffset,
    const D3D12_RESOURCE_DESC1  pDesc,
    D3D12_BARRIER_LAYOUT InitialLayout,
    const D3D12_CLEAR_VALUE  pOptimizedClearValue,
    UINT32 NumCastableFormats,
    DXGI_FORMAT  pCastableFormats,
    const IID & riid,
    void  ppvResource
)
```

### 매개 변수

*pHeap*\
형식: ID3D12Heap \*

리소스가 배치되는 힙을 나타내는 **ID3D12Heap** 인터페이스에 대한 포인터입니다.

*HeapOffset*\
형식: UINT64

리소스에 대한 오프셋(바이트 단위)입니다. *HeapOffset*은 리소스 정렬의 배수여야 하며, *HeapOffset*과 리소스 크기의 합은 힙 크기보다 작거나 같아야 합니다. 텍스처 리소스의 크기를 이해하려면 [**GetResourceAllocationInfo**](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public)를 사용해야 합니다.

*pDesc*\
형식: const D3D12\_RESOURCE\_DESC1 \*

리소스를 설명하는 **D3D12\_RESOURCE\_DESC** 구조체에 대한 포인터입니다.

*InitialLayout*\
형식: D3D12\_BARRIER\_LAYOUT

텍스처 리소스의 초기 레이아웃; 버퍼의 경우 **D3D12\_BARRIER\_LAYOUT::D3D12\_BARRIER\_LAYOUT\_UNDEFINED**입니다.

*pOptimizedClearValue*\
형식: const D3D12\_CLEAR\_VALUE \*

지우기 색상의 기본값을 설명하는 **D3D12\_CLEAR\_VALUE**를 지정합니다.

*pOptimizedClearValue*는 지우기 작업이 가장 최적화되는 값을 지정합니다. 생성된 리소스가 **D3D12\_RESOURCE\_FLAG\_ALLOW\_RENDER\_TARGET** 또는 **D3D12\_RESOURCE\_FLAG\_ALLOW\_DEPTH\_STENCIL** 플래그가 있는 텍스처인 경우, 애플리케이션은 지우기 작업이 가장 자주 호출될 값을 선택해야 합니다.

지우기 작업을 다른 값으로 호출할 수 있지만, 이러한 작업은 리소스 생성에 전달된 값과 일치하는 경우만큼 효율적이지 않습니다.

**D3D12\_RESOURCE\_DIMENSION\_BUFFER**와 함께 사용할 때 *pOptimizedClearValue*는 NULL이어야 합니다.

*NumCastableFormats*\
형식: UINT32

*pCastableFormats*의 요소 수입니다.

*pCastableFormats*\
형식: DXGI\_FORMAT \*

이 리소스를 캐스트할 수 있는 [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) 구조체의 연속 배열입니다.

*riid*\
형식: const IID &

리소스 인터페이스에 대한 전역 고유 식별자(**GUID**)입니다. 입력 매개 변수입니다.

리소스에 대한 인터페이스의 **REFIID** 또는 **GUID**는 `__uuidof` 매크로를 사용하여 얻을 수 있습니다. 예를 들어 `__uuidof(ID3D12Resource)`는 리소스에 대한 인터페이스의 **GUID**를 가져옵니다. **riid**는 일반적으로 [**ID3D12Resource**](/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs)의 GUID이지만, 모든 인터페이스에 대한 모든 **GUID**일 수 있습니다. 리소스 객체가 이 **GUID**에 대한 인터페이스를 지원하지 않으면 생성이 **E\_NOINTERFACE**로 실패합니다.

*ppvResource*\
형식: void \*\*

리소스에 대한 포인터를 받는 메모리 블록에 대한 포인터입니다. *ppvResource*는 기능 테스트를 활성화하려면 NULL일 수 있습니다. *ppvResource*가 NULL인 경우 객체가 생성되지 않으며, *pResourceDesc* 및 기타 매개 변수가 유효하면 S\_FALSE가 반환됩니다.

### 반환 값

형식: HRESULT

이 메서드는 리소스를 만들 메모리가 부족한 경우 **E\_OUTOFMEMORY**를 반환합니다. 다른 가능한 반환 값은 [Direct3D 12 반환 코드](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues)를 참조하세요.

## 설명

[ID3D12Device::CreatePlacedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public)의 **설명**을 참조하세요.

## 요구 사항

**헤더:** d3d12\_xs.h\
**라이브러리:** d3d12\_xs.lib\
**지원 플랫폼**: XBOX Series 콘솔

## 함께 보기

[CreateCommittedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public)

[CreateReservedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public)

[ID3D12Device10](/reference/graphics/d3d12/interfaces/id3d12device10/id3d12device10_public)

[공유 힙](https://learn.microsoft.com/en-us/windows/win32/direct3d12/shared-heaps)


## Related topics

- [CreateReservedResource2 (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreateReservedResource1 (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.md)
- [CreateHeap1 (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createheap1_public.md)
- [CreateCommandQueue1 (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createcommandqueue1_public.md)
- [CreateCommandList1 (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommandlist1_public.md)
