ID2D1Factory1::RegisterEffectFromStream 方法 (d2d1_1.h)

使用指定為數據流的屬性 XML,在處理站實例內註冊效果。

語法

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

參數

[in] classId

類型: REFCLSID

要註冊之效果的標識碼。

[in] propertyXml

類型: IStream

效果屬性、類型和元數據的清單。

[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