D3D12EnableExperimentalFeatures 函式 (d3d12.h)

啟用實驗性功能的清單。

語法

HRESULT D3D12EnableExperimentalFeatures(
       UINT      NumFeatures,
  [in] const IID *pIIDs,
  [in] void      *pConfigurationStructs,
  [in] UINT      *pConfigurationStructSizes
);

參數

NumFeatures

類型: UINT

要啟用的實驗性功能數目。

[in] pIIDs

類型: const IID*

SAL__in_ecount(NumFeatures)

識別碼陣列的指標,指定要啟用的可用實驗性功能。

[in] pConfigurationStructs

類型: void*

SAL__in_ecount(NumFeatures)

包含某些實驗性功能可能需要啟用之其他設定詳細資料的結構。

[in] pConfigurationStructSizes

類型: UINT*

SAL__in_ecount(NumFeatures)

在 pConfigurationStructs 參數中傳遞的任何組態結構大小。

傳回值

類型: HRESULT

這個方法會傳回 HRESULT 成功或錯誤碼,如果指定了無法辨識的功能或未啟用開發人員模式,或如果功能設定正確、指定的實驗性功能不相容或其他錯誤,則E_INVALIDARG包含E_NOINTERFACE。

備註

在裝置建立之前呼叫此函式。

由於一組實驗性功能會隨著時間而變更,而且這些功能可能不穩定,因此僅供開發和實驗之用。 在啟用任何實驗性功能之前,必須先啟用開發人員模式,才能強制執行此動作。

目前支援的一組實驗性功能可以在 D3D12.h 標頭中找到,接近 D3D12EnableExperimentalFeatures 函式的定義;因為實驗性功能只會不常提供,所以通常找不到目前不支援任何實驗性功能。

某些實驗性功能可能會使用 IID 作為 GUID 來識別。 針對這些功能,您可以使用 D3D12GetDebugInterface 傳遞 IID 作為參數,以擷取操作該功能的介面。

如果再次呼叫此函式並顯示要啟用的不同功能清單,則所有目前的 D3D12 裝置都會設定為DEVICE_REMOVED狀態。

範例

此範例顯示實驗性功能定義的外觀。

// --------------------------------------------------------------------------------------------------------------------------------
// Experimental Feature: D3D12ExperimentalShaderModels
//
// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
// meaning shader models that haven't been finalized for use in retail.
//
// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
//
// --------------------------------------------------------------------------------------------------------------------------------
static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
    0x76f5573e,
    0xf13a,
    0x40f5,
    { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
};
	

需求

   
目標平台 Windows
標頭 d3d12.h
程式庫 D3D12.lib
Dll D3D12.dll

另請參閱

核心函式