次の方法で共有


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、Windows Vista SP2 と 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