다음을 통해 공유


D3D12SerializeVersionedRootSignature 함수(d3d12.h)

ID3D12Device::CreateRootSignature에 전달할 수 있는 모든 버전의 루트 서명을 직렬화합니다.

구문

HRESULT D3D12SerializeVersionedRootSignature(
  [in]            const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature,
  [out]           ID3DBlob                                  **ppBlob,
  [out, optional] ID3DBlob                                  **ppErrorBlob
);

매개 변수

[in] pRootSignature

형식: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC*

루트 서명의 모든 버전에 대한 설명이 포함된 D3D12_VERSIONED_ROOT_SIGNATURE_DESC 지정합니다.

[out] ppBlob

형식: ID3DBlob**

직렬화된 루트 서명에 액세스하는 데 사용할 수 있는 ID3DBlob 인터페이스에 대한 포인터를 수신하는 메모리 블록에 대한 포인터입니다.

[out, optional] ppErrorBlob

형식: ID3DBlob**

serializer 오류 메시지에 액세스하는 데 사용할 수 있는 ID3DBlob 인터페이스에 대한 포인터를 수신하는 메모리 블록에 대한 포인터이거나 오류가 없는 경우 NULL 입니다.

반환 값

형식: HRESULT

성공하면 S_OK 반환합니다. 그렇지 않으면 Direct3D 12 반환 코드 중 하나를 반환합니다.

설명

애플리케이션이 D3D12_ROOT_SIGNATURE_DESC1 데이터 구조를 프로시저 방식으로 생성하는 경우 직렬화된 형식을 만들려면 D3D12SerializeVersionedRootSignature호출에서 이 D3D12_ROOT_SIGNATURE_DESC1 대한 포인터를 전달해야 합니다. 그런 다음, 애플리케이션은 ppBlobID3D12Device::CreateRootSignature로 가리키는 직렬화된 양식을 전달합니다.

루트 서명이 포함된 셰이더가 작성된 경우, 직렬화된 루트 서명이 컴파일된 셰이더에 이미 포함되어 있습니다. 이 경우 컴파일된 셰이더 Blob을 ID3D12Device::CreateRootSignature 에 전달하여 런타임 루트 서명 개체를 가져옵니다.

Xbox 개발자의 경우 HLSL 작성 루트 서명을 사용하는 것이 좋습니다.

함수 서명 PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE typedef로 제공되므로 정적으로 연결하는 대신 동적 연결 기술(GetProcAddress)을 사용할 수 있습니다.

이 함수는 Windows 10 1주년 업데이트(14393)와 함께 릴리스되었으며 D3D12SerializeRootSignature를 대체합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d12.h
라이브러리 D3d12.lib
DLL D3d12.dll

추가 정보

핵심 함수

루트 서명 만들기

D3DX12SerializeVersionedRootSignature

루트 서명 버전 1.1