Win32 API 日本語リファレンス
ホームGraphics.Direct2D › ID2D1Device4

ID2D1Device4

COM
IIDd7bdb159-5683-4a46-bc9c-72dc720b858b継承元ID2D1Device3自前メソッド開始 vtbl16

公式ドキュメント

オブジェクトとデバイスコンテキストを一緒に使用できるリソースドメインを表します。このインターフェイスは ID2D1Device3 インターフェイスとまったく同じ機能を実行します。さらに、ID2D1DeviceContext4 オブジェクトの作成も可能にします。

メソッド 3

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 16 HRESULT CreateDeviceContext(D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext4** deviceContext4)

この Direct2D デバイスから新しい ID2D1DeviceContext4 を作成します。

optionsD2D1_DEVICE_CONTEXT_OPTIONSin作成されるデバイスコンテキストに適用するオプション。
deviceContext4ID2D1DeviceContext4**outこのメソッドが返るとき、新しいデバイスコンテキストへのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合、S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 17 void SetMaximumColorGlyphCacheMemory(ULONGLONG maximumInBytes)

カラーグリフキャッシュの最大容量を設定します。

maximumInBytesULONGLONGinカラーグリフキャッシュの最大容量。

解説(Remarks)

カラーグリフキャッシュは、カラービットマップグリフと SVG グリフを格納するために使用され、同じ グリフが再び必要になった場合により高速なパフォーマンスを実現します。容量は、アプリケーションがまだ参照していないグリフを格納するために D2D が使用できるメモリ量を決定します。 グリフが破棄された後に、アプリケーションが GetColorBitmapGlyphImage または GetSvgGlyphImage を使用してそのグリフを参照する場合、 そのグリフはキャッシュ容量にはカウントされません。

vtbl 18 ULONGLONG GetMaximumColorGlyphCacheMemory()

カラーグリフキャッシュの最大容量を取得します。

戻り値

型: UINT64

カラーグリフキャッシュの最大容量をバイト単位で返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_ID2D1Device4 "{D7BDB159-5683-4A46-BC9C-72DC720B858B}"
#usecom global ID2D1Device4 IID_ID2D1Device4 "{}"
#comfunc global ID2D1Device4_CreateDeviceContext              16 int,sptr
#comfunc global ID2D1Device4_SetMaximumColorGlyphCacheMemory  17 int64
#comfunc global ID2D1Device4_GetMaximumColorGlyphCacheMemory  18
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。