Funzione DrvQueryTrueTypeTable (winddi.h)
La funzione DrvQueryTrueTypeTable accede a tabelle specifiche in un file di descrizione del tipo di carattere TrueType.
Sintassi
LONG DrvQueryTrueTypeTable(
ULONG_PTR iFile,
ULONG ulFont,
ULONG ulTag,
PTRDIFF dpStart,
ULONG cjBuf,
BYTE *pjBuf,
PBYTE *ppjTable,
ULONG *pcjTable
);
Parametri
iFile
Puntatore a un valore definito dal driver che identifica il file di carattere TrueType fornito dal driver. Questo puntatore viene ottenuto da DrvLoadFontFile.
ulFont
Specifica l'indice in base uno del tipo di carattere del driver.
ulTag
Specifica la tabella a cui accedere. Se ulTag è zero, il driver deve restituire l'accesso all'intero file.
dpStart
Specifica l'offset dall'inizio delle tabelle da cui iniziare l'accesso. Se ulTag è zero, dpStart è l'offset dall'inizio del file.
cjBuf
Specifica le dimensioni in byte del buffer in cui pjBuf punta o zero.
pjBuf
Se non è NULL, punta al buffer in cui il driver deve copiare i dati della tabella o del tipo di carattere.
ppjTable
Se non è NULL, punta alla posizione in cui il driver deve restituire l'indirizzo dei dati della tabella o del tipo di carattere.
pcjTable
Se non è NULL, punta alla posizione in cui il driver deve restituire la lunghezza in byte della tabella o dei dati del tipo di carattere a cui punta *ppjTable .
Valore restituito
DrvQueryTrueTypeTable restituisce uno dei valori seguenti:
- Se pjBuf è NULL, il numero di byte necessari per il buffer per contenere l'intera tabella (corrisponderebbe al valore restituito in pcjTable).
- Se pjBuf non è NULL, il numero di byte copiati.
- Se si verifica un errore, FD_ERROR.
Commenti
DrvQueryTrueTypeTable deve essere implementato nei driver dei tipi di carattere TrueType.
Esistono due modi in cui è possibile richiedere drvQueryTrueTypeTable per restituire dati di tipo tabella o tipo di carattere:
- Quando né cjBuf né pjBuf sono NULL, il driver deve copiare il contenuto della tabella richiesta nel buffer in cui pjBuf punta. In questo caso, ppjTable e pcjTable saranno NULL e devono essere ignorati dal driver.
- Quando né ppjTable né pcjTable sono NULL, il driver deve posizionare un puntatore alla tabella in *ppjTable e la lunghezza, in byte, della tabella in *pciTable. In questo caso , cjBuf e pjBuf saranno NULL e devono essere ignorati dal driver.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | winddi.h (include Winddi.h) |