Compartilhar via


Função DrvLoadFontFile (winddi.h)

A função DrvLoadFontFile recebe informações da GDI relacionadas ao carregamento e mapeamento de arquivos de fonte.

Sintaxe

ULONG_PTR DrvLoadFontFile(
  ULONG        cFiles,
  ULONG_PTR    *piFile,
  PVOID        *ppvView,
  ULONG        *pcjView,
  DESIGNVECTOR *pdv,
  ULONG        ulLangID,
  ULONG        ulFastCheckSum
);

Parâmetros

cFiles

Valor fornecido pelo chamador que indica o número de arquivos associados à fonte.

piFile

Ponteiro fornecido pelo chamador para uma matriz de identificadores de arquivo do tamanho de cFiles. Cada identificador representa um dos arquivos associados à fonte. Os identificadores de arquivo podem ser passados individualmente para EngMapFontFileFD.

ppvView

Ponteiro fornecido pelo chamador para uma matriz do tamanho de cFiles que contém o endereço inicial do espaço de memória no qual cada arquivo de fonte foi mapeado.

pcjView

Ponteiro fornecido pelo chamador para uma matriz do tamanho de cFiles que contém o tamanho do espaço de memória no qual cada arquivo de fonte foi mapeado.

pdv

Para fontes Adobe Multiple Master, esse é um ponteiro fornecido pelo chamador para uma estrutura DESIGNVECTOR (descrita na documentação do SDK do Microsoft Windows) que identifica a instância de Vários Mestres. Caso contrário, esse parâmetro será NULL.

ulLangID

Identificador de idioma fornecido pelo chamador, obtido do registro.

ulFastCheckSum

Especifica uma soma de verificação fornecida por GDI para a fonte. Se esse parâmetro não for zero, o mecanismo de cache de fonte GDI poderá ser usado para acessar uma fonte mais rapidamente. Se esse parâmetro for zero, o mecanismo de fonte GDI não poderá ser usado.

Retornar valor

Se a operação for bem-sucedida, ela deverá retornar um ponteiro para um valor definido pelo driver que identifique exclusivamente a fonte. Posteriormente, o driver recebe esse ponteiro como um parâmetro de entrada para funções como DrvQueryFont, DrvQueryFontFile, DrvQueryFontTree. Se um erro for encontrado, a função deverá retornar HFF_INVALID.

Comentários

Os drivers de fonte são necessários para fornecer uma função DrvLoadFontFile . A finalidade da função é permitir que um driver de fonte receba a notificação de que os arquivos associados de uma fonte estão sendo carregados e mapeados. O driver pode armazenar argumentos de entrada para uso posterior.

Carregar e mapear um arquivo de fonte envolve chamar EngMapFontFileFD. Quando um aplicativo chama AddFontResource ou AddFontResourceEx (descrito na documentação SDK do Windows), o GDI chama EngMapFontFileFD e chama DrvLoadFontFile. Os parâmetros ppvView e pcjView da função DrvLoadFontFile fornecem o local e o tamanho do mapeamento de cada arquivo, conforme retornado por EngMapFontFileFD.

A GDI cancela omaps dos arquivos quando DrvLoadFontFile retorna. Se o driver precisar remapear os arquivos mais tarde, em resposta às chamadas subsequentes da GDI, ele poderá chamar o próprio EngMapFontFileFD se tiver salvo os parâmetros cFiles e piFile .

Quando o mecanismo de fonte GDI chama o DDI DrvLoadFontFile do driver de fonte, ele passa uma soma de verificação para a fonte no parâmetro ulFastCheckSum . Se esse parâmetro não for zero e a fonte em questão tiver sido armazenada em cache, DrvLoadFontFile poderá obter um ponteiro para os dados da fonte com uma chamada para EngFntCacheLookUp. Depois que o driver de fonte obtém o ponteiro para os dados da fonte, ele pode carregar os dados da fonte. Se a fonte não tiver sido armazenada em cache, o driver de fonte poderá armazenar a fonte em cache primeiro alocando memória para o cache de fontes, usando uma chamada para EngFntCacheAlloc e gravando os dados da fonte nessa memória. Se o driver de fonte encontrar um erro ao ler ou gravar os dados da fonte, ele poderá notificar o mecanismo de fonte GDI fazendo uma chamada para EngFntCacheFault.

Se o mecanismo de fonte GDI chamado DrvLoadFontFile e passado um valor igual a zero para o parâmetro ulFastCheckSum , isso significa que o mecanismo de fonte GDI não está em operação e o driver de fonte não precisa executar nenhuma ação.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho winddi.h (inclua Winddi.h)

Confira também

DrvUnloadFontFile

EngFntCacheAlloc

EngFntCacheFault

EngFntCacheLookUp