Compartir a través de


Función DrvQueryTrueTypeTable (winddi.h)

La función DrvQueryTrueTypeTable tiene acceso a tablas específicas en un archivo de descripción de fuente TrueType.

Sintaxis

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

Parámetros

iFile

Puntero a un valor definido por el controlador que identifica el archivo de fuente TrueType proporcionado por el controlador. Este puntero se obtiene de DrvLoadFontFile.

ulFont

Especifica el índice basado en uno de la fuente del controlador.

ulTag

Especifica la tabla a la que se va a acceder. Si ulTag es cero, el controlador debe devolver acceso a todo el archivo.

dpStart

Especifica el desplazamiento desde el principio de las tablas desde las que se va a comenzar el acceso. Si ulTag es cero, dpStart es el desplazamiento desde el principio del archivo.

cjBuf

Especifica el tamaño en bytes del búfer al que apunta pjBuf o cero.

pjBuf

Si no es NULL, apunta al búfer en el que el controlador debe copiar los datos de la tabla o fuente.

ppjTable

Si no es NULL, apunta a la ubicación en la que el controlador debe devolver la dirección de los datos de tabla o fuente.

pcjTable

Si no es NULL, apunta a la ubicación en la que el controlador debe devolver la longitud en bytes de los datos de tabla o fuente a los que *ppjTable apunta.

Valor devuelto

DrvQueryTrueTypeTable devuelve uno de los siguientes valores:

  • Si pjBuf es NULL, el número de bytes necesarios para que el búfer contenga toda la tabla (sería igual que el valor devuelto en pcjTable).
  • Si pjBuf no es NULL, el número de bytes copiados.
  • Si se produce un error, FD_ERROR.

Comentarios

DrvQueryTrueTypeTable debe implementarse en los controladores de fuente TrueType.

Hay dos maneras en las que se puede solicitar DrvQueryTrueTypeTable para devolver datos de tabla o fuente:

  1. Cuando ni cjBuf ni pjBuf son NULL, el controlador debe copiar el contenido de la tabla solicitada en el búfer al que apunta pjBuf . En esta situación, ppjTable y pcjTable serán NULL y el controlador debe omitirlo.
  2. Cuando ni ppjTable ni pcjTable son NULL, el controlador debe colocar un puntero a la tabla en *ppjTable y la longitud, en bytes, de la tabla en *pciTable. En esta situación, cjBuf y pjBuf serán NULL y el controlador debe omitirlo.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado winddi.h (incluya Winddi.h)

Consulte también

DrvLoadFontFile