다음을 통해 공유


DrvLoadFontFile 함수(winddi.h)

DrvLoadFontFile 함수는 글꼴 파일 로드 및 매핑과 관련된 정보를 GDI로부터 받습니다.

구문

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

매개 변수

cFiles

글꼴과 연결된 파일 수를 나타내는 호출자 제공 값입니다.

piFile

파일 핸들의 cFiles 크기 배열에 대한 호출자 제공 포인터입니다. 각 핸들은 글꼴과 연결된 파일 중 하나를 나타냅니다. 파일 핸들은 EngMapFontFileFD에 개별적으로 전달할 수 있습니다.

ppvView

각 글꼴 파일이 매핑된 메모리 공간의 시작 주소를 포함하는 cFiles 크기의 배열에 대한 호출자 제공 포인터입니다.

pcjView

각 글꼴 파일이 매핑된 메모리 공간의 크기를 포함하는 cFiles 크기의 배열에 대한 호출자 제공 포인터입니다.

pdv

Adobe 다중 마스터 글꼴의 경우 다중 마스터 instance 식별하는 DESIGNVECTOR 구조체(Microsoft Windows SDK 설명서에 설명됨)에 대한 호출자 제공 포인터입니다. 그렇지 않으면 이 매개 변수는 NULL입니다.

ulLangID

레지스트리에서 가져온 호출자 제공 언어 식별자입니다.

ulFastCheckSum

글꼴에 대해 GDI 제공 체크섬을 지정합니다. 이 매개 변수가 0이 아닌 경우 글꼴에 더 빠르게 액세스하기 위해 GDI 글꼴 캐시 엔진을 사용할 수 있습니다. 이 매개 변수가 0이면 GDI 글꼴 엔진을 사용할 수 없습니다.

반환 값

작업이 성공하면 글꼴을 고유하게 식별하는 드라이버 정의 값에 대한 포인터를 반환해야 합니다. 이후에 드라이버는 DrvQueryFont, DrvQueryFontFile, DrvQueryFontTree와 같은 함수에 대한 입력 매개 변수로 이 포인터를 받습니다. 오류가 발생하면 함수는 HFF_INVALID 반환해야 합니다.

설명

DrvLoadFontFile 함수를 제공하려면 글꼴 드라이버가 필요합니다. 함수의 목적은 글꼴 드라이버가 글꼴의 연결된 파일이 로드되고 매핑되고 있다는 알림을 받을 수 있도록 하는 것입니다. 드라이버는 나중에 사용할 수 있는 입력 인수를 저장할 수 있습니다.

글꼴 파일을 로드하고 매핑하려면 EngMapFontFileFD를 호출해야 합니다. 애플리케이션이 AddFontResource 또는 AddFontResourceEx(Windows SDK 설명서에 설명되어 있음)를 호출하는 경우 GDI는 EngMapFontFileFD를 호출한 다음 DrvLoadFontFile을 호출합니다. DrvLoadFontFile 함수의 ppvViewpcjView 매개 변수는 EngMapFontFileFD에서 반환한 대로 각 파일 매핑의 위치와 크기를 제공합니다.

DrvLoadFontFile이 반환되면 GDI에서 파일 매핑을 해제합니다. 드라이버가 나중에 파일을 다시 매핑해야 하는 경우 GDI의 후속 호출에 대한 응답으로 cFiles 및 piFile 매개 변수를 저장한 경우 EngMapFontFileFD 자체를 호출할 수 있습니다.

GDI 글꼴 엔진이 글꼴 드라이버의 DrvLoadFontFile DDI를 호출하면 ulFastCheckSum 매개 변수의 글꼴에 대한 체크섬을 전달합니다. 이 매개 변수가 0이 아니고 해당 글꼴이 캐시된 경우 DrvLoadFontFileEngFntCacheLookUp을 호출하여 글꼴 데이터에 대한 포인터를 가져올 수 있습니다. 글꼴 드라이버가 글꼴 데이터에 대한 포인터를 가져온 후 글꼴 데이터를 로드할 수 있습니다. 글꼴이 캐시되지 않은 경우 글꼴 드라이버는 먼저 글꼴 캐시에 대한 메모리를 할당하고 , EngFntCacheAlloc 호출을 사용한 다음, 해당 메모리에 글꼴 데이터를 작성하여 글꼴을 캐시할 수 있습니다. 글꼴 드라이버에서 글꼴 데이터를 읽거나 쓰는 동안 오류가 발생하면 EngFntCacheFault를 호출하여 GDI 글꼴 엔진에 알릴 수 있습니다.

GDI 글꼴 엔진 이 DrvLoadFontFile 이라고 하고 ulFastCheckSum 매개 변수에 대해 0 값을 전달한 경우 GDI 글꼴 엔진이 작동 중이 아니며 글꼴 드라이버가 아무 작업도 수행할 필요가 없음을 의미합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 winddi.h(Winddi.h 포함)

추가 정보

DrvUnloadFontFile

EngFntCacheAlloc

EngFntCacheFault

EngFntCacheLookUp