Compartilhar via


Função DrvQueryTrueTypeTable (winddi.h)

A função DrvQueryTrueTypeTable acessa tabelas específicas em um arquivo de descrição de fonte TrueType.

Sintaxe

LONG DrvQueryTrueTypeTable(
  ULONG_PTR iFile,
  ULONG     ulFont,
  ULONG     ulTag,
  PTRDIFF   dpStart,
  ULONG     cjBuf,
  BYTE      *pjBuf,
  PBYTE     *ppjTable,
  ULONG     *pcjTable
);

Parâmetros

iFile

Ponteiro para um valor definido pelo driver que identifica o arquivo de fonte TrueType fornecido pelo driver. Esse ponteiro é obtido de DrvLoadFontFile.

ulFont

Especifica o índice baseado em um da fonte do driver.

ulTag

Especifica a tabela a ser acessada. Se ulTag for zero, o driver deverá retornar acesso ao arquivo inteiro.

dpStart

Especifica o deslocamento do início das tabelas das quais iniciar o acesso. Se ulTag for zero, dpStart será o deslocamento do início do arquivo.

cjBuf

Especifica o tamanho em bytes do buffer para o qual pjBuf aponta ou zero.

pjBuf

Se não for NULL, apontará para o buffer no qual o driver deve copiar os dados da tabela ou da fonte.

ppjTable

Se não for NULL, aponta para o local no qual o driver deve retornar o endereço da tabela ou dos dados da fonte.

pcjTable

Se não for NULL, apontará para o local em que o driver deve retornar o comprimento em bytes da tabela ou dados de fonte aos quais *ppjTable aponta.

Retornar valor

DrvQueryTrueTypeTable retorna um dos seguintes valores:

  • Se pjBuf for NULL, o número de bytes necessários para que o buffer mantenha a tabela inteira (isso seria o mesmo que o valor retornado em pcjTable).
  • Se pjBuf não for NULL, o número de bytes copiados.
  • Se ocorrer um erro, FD_ERROR.

Comentários

DrvQueryTrueTypeTable deve ser implementado em drivers de fonte TrueType.

Há duas maneiras pelas quais DrvQueryTrueTypeTable pode ser solicitado a retornar dados de tabela ou fonte:

  1. Quando nem cjBuf nem pjBuf são NULL, o driver deve copiar o conteúdo da tabela solicitada para o buffer para o qual pjBuf aponta. Nessa situação, ppjTable e pcjTable serão NULL e deverão ser ignorados pelo driver.
  2. Quando nem ppjTable nem pcjTable são NULL, o driver deve colocar um ponteiro para a tabela em *ppjTable e o comprimento, em bytes, da tabela em *pciTable. Nessa situação, cjBuf e pjBuf serão NULL e deverão ser ignorados pelo driver.

Requisitos

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

Confira também

DrvLoadFontFile