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

IDWriteStringList

COM
IIDcfee3140-1157-47ca-8b85-31bfcf3f2d0e継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

番号でインデックス付けされた文字列のコレクションを表します。

メソッド 5

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

vtbl 3 DWORD GetCount()

文字列リスト内の文字列の数を取得します。

戻り値

型: UINT32

文字列リスト内の文字列の数を返します。

vtbl 4 HRESULT GetLocaleNameLength(DWORD listIndex, DWORD* length)

指定されたインデックスのロケール名の長さを、文字数(null 終端文字を含まない)で取得します。(IDWriteStringList.GetLocaleNameLength)

listIndexDWORDinロケール名の 0 から始まるインデックス。
lengthDWORD*outnull 終端文字を含まない、文字数単位の長さを受け取ります。

戻り値

型: HRESULT

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

vtbl 5 HRESULT GetLocaleName(DWORD listIndex, LPWSTR localeName, DWORD size)

指定されたインデックスのロケール名を、指定された配列にコピーします。(IDWriteStringList.GetLocaleName)

listIndexDWORDinロケール名の 0 から始まるインデックス。
localeNameLPWSTRoutロケール名を受け取る文字配列。
sizeDWORDin配列のサイズ(文字数単位)。サイズには終端の null 文字分の領域を含める必要があります。

戻り値

型: HRESULT

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

vtbl 6 HRESULT GetStringLength(DWORD listIndex, DWORD* length)

指定されたインデックスの文字列の長さを、文字数(null 終端文字を含まない)で取得します。(IDWriteStringList.GetStringLength)

listIndexDWORDin文字列の 0 から始まるインデックス。
lengthDWORD*outnull 終端文字を含まない、文字列の文字数単位の長さを受け取ります。

戻り値

型: HRESULT

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

vtbl 7 HRESULT GetString(DWORD listIndex, LPWSTR stringBuffer, DWORD stringBufferSize)

指定されたインデックスの文字列を、指定された配列にコピーします。(IDWriteStringList.GetString)

listIndexDWORDin文字列の 0 から始まるインデックス。
stringBufferLPWSTRout文字列を受け取る文字配列。
stringBufferSizeDWORDin配列のサイズ(文字数単位)。サイズには終端の null 文字分の領域を含める必要があります。

戻り値

型: HRESULT

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

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IDWriteStringList "{CFEE3140-1157-47CA-8B85-31BFCF3F2D0E}"
#usecom global IDWriteStringList IID_IDWriteStringList "{}"
#comfunc global IDWriteStringList_GetCount             3
#comfunc global IDWriteStringList_GetLocaleNameLength  4 int,var
#comfunc global IDWriteStringList_GetLocaleName        5 int,var,int
#comfunc global IDWriteStringList_GetStringLength      6 int,var
#comfunc global IDWriteStringList_GetString            7 int,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。