共用方式為


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**

記憶體區塊的指標,可接收 ID3DBlob 介面的指標,您可以在沒有任何錯誤時用來存取串行化程式錯誤訊息,或 NULL

傳回值

類型: HRESULT

如果成功 則傳回S_OK;否則,會傳回其中一個 Direct3D 12 傳回碼

備註

如果應用程式在程式上產生D3D12_ROOT_SIGNATURE_DESC1數據結構,則必須在呼叫 D3D12SerializeVersionedRootSignature 中傳遞這個D3D12_ROOT_SIGNATURE_DESC1指標,以建立串行化表單。 然後,應用程式會將 ppBlob 指向 ID3D12Device::CreateRootSignature 的串行化表單傳遞至其中。

如果著色器已在其中撰寫根簽章,則編譯的著色器將包含已串行化的根簽章。 在此情況下,將編譯的著色器 Blob 傳遞至 ID3D12Device::CreateRootSignature ,以取得運行時間根簽章物件。

請注意,對於 Xbox 開發人員,強烈建議您使用 HLSL 撰寫的根簽章。

函式簽章PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE是以 typedef 的形式提供,因此您可以使用動態鏈接技術 (GetProcAddress) ,而不是靜態連結。

此函式已透過 Windows 10 Anniversary Update (14393) 發行,並取代 D3D12SerializeRootSignature

規格需求

需求
目標平台 Windows
標頭 d3d12.h
程式庫 D3d12.lib
Dll D3d12.dll

另請參閱

核心函式

建立根簽章

D3DX12SerializeVersionedRootSignature

根簽章 1.1 版