Metodo ID2D1Factory1::RegisterEffectFromString (d2d1_1.h)

Registra un effetto all'interno dell'istanza di factory con il codice XML della proprietà specificato come stringa.

Sintassi

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

Parametri

[in] classId

Tipo: REFCLSID

Identificatore dell'effetto da registrare.

[in] propertyXml

Tipo: PCWSTR

Elenco delle proprietà, dei tipi e dei metadati dell'effetto.

[in, optional] bindings

Tipo: const D2D1_PROPERTY_BINDING*

Matrice di proprietà e metodi.

Associa una proprietà in base al nome a un metodo specifico implementato dall'autore dell'effetto per gestire la proprietà. Il nome deve essere trovato nella proprietà corrispondenteXml.

bindingsCount

Tipo: UINT32

Numero di associazioni nella matrice di associazione.

effectFactory

Tipo: PD2D1_EFFECT_FACTORY

Factory statica utilizzata per creare l'effetto corrispondente.

Valore restituito

Tipo: HRESULT

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

HRESULT Descrizione
S_OK Non si sono verificati errori.
E_OUTOFMEMORY Direct2D non è riuscito ad allocare memoria sufficiente per completare la chiamata.
E_INVALIDARG Un parametro non valido è stato passato alla funzione restituita.

Commenti

Gli effetti Direct2D devono definire le relative proprietà al momento della registrazione tramite il codice XML di registrazione. Un effetto dichiara diverse proprietà di sistema necessarie e può anche dichiarare proprietà personalizzate. Per altre informazioni sulla formattazione del parametro propertyXml, vedere Effetti personalizzati.

RegisterEffect è sia atomico che con conteggio dei riferimenti. Per annullare la registrazione di un effetto, chiamare UnregisterEffect con il classId dell'effetto.

ImportanteRegisterEffect non contiene un riferimento alla DLL o al file eseguibile in cui è contenuto l'effetto. L'applicazione deve assicurarsi in modo indipendente che la durata del file DLL o eseguibile contenga completamente tutte le istanze di ogni effetto registrato e creato.
 
A parte gli effetti predefiniti registrati a livello globale, questa API registra effetti solo per questa factory e le interfacce del dispositivo e del contesto di dispositivo derivato.

Requisiti

   
Client minimo supportato Windows 8 e Platform Update per Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1_1.h
Libreria D2d1.lib
DLL D2d1.dll

Vedi anche

ID2D1Factory1

ID2D1Factory1::UnregisterEffect