idWriteFontFileStream::ReadFileFragment 方法 (dwrite.h)

从字体文件中读取片段。

语法

HRESULT ReadFileFragment(
  [out] void const **fragmentStart,
        UINT64     fileOffset,
        UINT64     fragmentSize,
  [out] void       **fragmentContext
);

参数

[out] fragmentStart

类型: const void**

此方法返回时,包含指向字体文件片段开头的指针的地址。 此参数未经初始化即被传递。

fileOffset

类型: UINT64

片段距字体文件开头的偏移量(以字节为单位)。

fragmentSize

类型: UINT64

文件片段的大小(以字节为单位)。

[out] fragmentContext

类型: void**

此方法返回时,包含指向要传递给 ReleaseFileFragment 的客户端定义上下文的指针的指针的地址。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

请注意,ReadFileFragment 实现必须检查请求的字体文件片段是否在文件边界内。 否则,应从 ReadFileFragment 返回错误。

DirectWrite可以同时从多个线程对同一对象调用 IDWriteFontFileStream 方法。 因此,依赖于内部可变状态的 ReadFileFragment 实现必须跨多个线程序列化对此类状态的访问。 例如,使用单独的 Seek 和 Read 操作读取文件片段的实现必须将包含 Seek 和 Read 调用的代码块置于锁或关键节下。

要求

   
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dwrite.h
Library Dwrite.lib
DLL Dwrite.dll

请参阅

IDWriteFontFileStream