Função DWriteCreateFactory (dwrite.h)

Cria um objeto de fábrica DirectWrite que é usado para a criação subsequente de objetos DirectWrite individuais.

Sintaxe

HRESULT DWriteCreateFactory(
  [in]  DWRITE_FACTORY_TYPE factoryType,
  [in]  REFIID              iid,
  [out] IUnknown            **factory
);

Parâmetros

[in] factoryType

Tipo: DWRITE_FACTORY_TYPE

Um valor que especifica se o objeto de fábrica será compartilhado ou isolado.

[in] iid

Tipo: REFIID

Um valor guid que identifica a interface de fábrica DirectWrite, como __uuidof(IDWriteFactory).

[out] factory

Tipo: IUnknown**

Um endereço de um ponteiro para o objeto de fábrica DirectWrite recém-criado.

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Essa função cria um objeto de fábrica DirectWrite que é usado para a criação subsequente de objetos DirectWrite individuais. DirectWrite factory contém dados de estado interno, como registro do carregador de fontes e dados de fonte armazenados em cache. Na maioria dos casos, é recomendável usar o objeto de fábrica compartilhado, pois ele permite que vários componentes que usam DirectWrite compartilhem dados internos de estado DirectWrite e, assim, reduzam o uso de memória. No entanto, há casos em que é desejável reduzir o impacto de um componente, como um plug-in de uma fonte não confiável, no restante do processo, por meio da área restrita e isolando-o do restante dos componentes do processo. Nesses casos, é recomendável usar uma fábrica isolada para o componente em área restrita.

O exemplo a seguir mostra como criar uma fábrica de DirectWrite compartilhada.


if (SUCCEEDED(hr))
{
    hr = DWriteCreateFactory(
        DWRITE_FACTORY_TYPE_SHARED,
        __uuidof(IDWriteFactory),
        reinterpret_cast<IUnknown**>(&pDWriteFactory_)
        );
}


Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho dwrite.h
Biblioteca Dwrite.lib
DLL Dwrite.dll