ID2D1Factory1::RegisterEffectFromStream 메서드(d2d1_1.h)

팩터리 instance 내에서 스트림으로 지정된 속성 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