ホーム › Graphics.DirectWrite › IDWriteRemoteFontFileStream
IDWriteRemoteFontFileStream
COM公式ドキュメント
フォントファイルストリームを表します。その一部はローカルに存在しない場合があります。
解説(Remarks)
詳細については、IDWriteRemoteFontFileLoader の説明を参照してください。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
GetLocalFileSize は、フォントファイルのうち現在ローカルに存在するバイト数を返します。この値は常に GetFileSize が返すファイル全体のサイズ以下になります。
| localFileSize | ULONGLONG* | out | ファイルのローカルサイズを受け取ります。 |
戻り値
型: HRESULT
このメソッドは、成功またはエラーを示す HRESULT を返します。
vtbl 8 HRESULT GetFileFragmentLocality(ULONGLONG fileOffset, ULONGLONG fragmentSize, BOOL* isLocal, ULONGLONG* partialSize)
フォントファイルストリーム内のバイト範囲(すなわちフォントフラグメント)の局所性(ローカル性)に関する情報を返します。
| fileOffset | ULONGLONG | in | フォントファイルの先頭からのフラグメントのオフセット。 |
| fragmentSize | ULONGLONG | in | フラグメントのサイズ(バイト単位)。 |
| isLocal | BOOL* | out | フラグメントの先頭バイトがローカルの場合は TRUE、そうでない場合は FALSE を受け取ります。 |
| partialSize | ULONGLONG* | inout | フラグメントの先頭から、先頭バイトと同じ局所性を持つ連続したバイト数を受け取ります。 |
戻り値
型: HRESULT
このメソッドは、成功またはエラーを示す HRESULT を返します。
vtbl 9 DWRITE_LOCALITY GetLocality()
ファイルの現在の局所性(ローカル性)を取得します。
戻り値
現在の局所性(すなわち、リモート、部分的、またはローカル)を返します。
vtbl 10 HRESULT BeginDownload(GUID* downloadOperationID, DWRITE_FILE_FRAGMENT* fileFragments, DWORD fragmentCount, IDWriteAsyncResult** asyncResult)
フォントファイルの全体または一部のダウンロードを開始します。
| downloadOperationID | GUID* | in | |
| fileFragments | DWRITE_FILE_FRAGMENT* | in | 構造体の配列。各要素はダウンロードするバイト範囲を指定します。 |
| fragmentCount | DWORD | in | fileFragments 配列の要素数。サイズなどのファイル情報のみをダウンロードする場合は、これを 0 にできます。 |
| asyncResult | IDWriteAsyncResult** | out | 非同期ダウンロードの完了を待機し、完了時にダウンロード結果を取得するために使用できるオブジェクトを受け取ります。ダウンロードが同期的に完了した場合、結果は NULL になることがあります。たとえば、要求されたデータがすでにローカルに存在するとメソッドが判断した場合に、これが発生する可能性があります。 |
戻り値
型: HRESULT
このメソッドは、成功またはエラーを示す HRESULT を返します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDWriteRemoteFontFileStream "{4DB3757A-2C72-4ED9-B2B6-1ABABE1AFF9C}" #usecom global IDWriteRemoteFontFileStream IID_IDWriteRemoteFontFileStream "{}" #comfunc global IDWriteRemoteFontFileStream_GetLocalFileSize 7 var #comfunc global IDWriteRemoteFontFileStream_GetFileFragmentLocality 8 int64,int64,var,var #comfunc global IDWriteRemoteFontFileStream_GetLocality 9 #comfunc global IDWriteRemoteFontFileStream_BeginDownload 10 var,var,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDWriteRemoteFontFileStream "{4DB3757A-2C72-4ED9-B2B6-1ABABE1AFF9C}" #usecom global IDWriteRemoteFontFileStream IID_IDWriteRemoteFontFileStream "{}" #comfunc global IDWriteRemoteFontFileStream_GetLocalFileSize 7 sptr #comfunc global IDWriteRemoteFontFileStream_GetFileFragmentLocality 8 int64,int64,sptr,sptr #comfunc global IDWriteRemoteFontFileStream_GetLocality 9 #comfunc global IDWriteRemoteFontFileStream_BeginDownload 10 sptr,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。