Поделиться через


Метод ID2D1Factory1::RegisterEffectFromString (d2d1_1.h)

Регистрирует эффект в экземпляре фабрики со свойством XML, указанным в виде строки.

Синтаксис

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 является атомарным и ссылочным. Чтобы отменить регистрацию эффекта, вызовите UnregisterEffect с классом classId эффекта.

Важно!RegisterEffect не содержит ссылку на библиотеку DLL или исполняемый файл, в котором содержится эффект. Приложение должно независимо следить за тем, чтобы время существования dll или исполняемого файла полностью содержало все экземпляры каждого зарегистрированного и созданного эффекта.
 
Помимо встроенных эффектов, которые зарегистрированы глобально, этот API регистрирует эффекты только для этой фабрики и производных интерфейсов контекста устройства и устройства.

Требования

   
Минимальная версия клиента Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d2d1_1.h
Библиотека D2d1.lib
DLL D2d1.dll

См. также раздел

ID2D1Factory1

ID2D1Factory1::UnregisterEffect