ID2D1Factory1::RegisterEffectFromString 方法 (d2d1_1.h)

使用指定為字串的屬性 XML,在 Factory 實例內註冊效果。

語法

HRESULT RegisterEffectFromString(
  [in]           REFCLSID                    classId,
  [in]           PCWSTR                      propertyXml,
  [in, optional] const D2D1_PROPERTY_BINDING *bindings,
                 UINT32                      bindingsCount,
                 const PD2D1_EFFECT_FACTORY  effectFactory
);

參數

[in] classId

類型: REFCLSID

要註冊之效果的識別碼。

[in] propertyXml

類型: PCWSTR

效果屬性、類型和中繼資料的清單。

[in, optional] bindings

類型:const D2D1_PROPERTY_BINDING*

屬性和方法的陣列。

這會依名稱將屬性系結至效果作者實作的特定方法,以處理屬性。 名稱必須在對應的 propertyXml中找到。

bindingsCount

類型: UINT32

系結陣列中的系結數目。

effectFactory

類型: PD2D1_EFFECT_FACTORY

用來建立對應效果的靜態處理站。

傳回值

類型: HRESULT

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

HRESULT 描述
S_OK 未發生任何錯誤。
E_OUTOFMEMORY Direct2D 無法配置足夠的記憶體來完成呼叫。
E_INVALIDARG 不正確參數已傳遞至傳回函式。

備註

Direct2D 效果必須在註冊時透過註冊 XML 定義其屬性。 效果會宣告數個必要的系統屬性,也可以宣告自訂屬性。 如需格式化propertyXml參數的詳細資訊,請參閱自訂效果

RegisterEffect 既是不可部分完成的,又會計算參考計數。 若要取消註冊效果,請使用效果的classId呼叫UnregisterEffect

重要RegisterEffect 不會保存包含效果之 DLL 或可執行檔的參考。 應用程式必須獨立確定 DLL 或可執行檔的存留期完全包含每個已註冊和建立效果的所有實例。
 
除了全域註冊的 內建效果 之外,此 API 只會登錄此處理站和衍生裝置和裝置內容介面的效果。

規格需求

   
最低支援的用戶端 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 適用于 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d2d1_1.h
程式庫 D2d1.lib
Dll D2d1.dll

另請參閱

ID2D1Factory1

ID2D1Factory1::UnregisterEffect