Win32 API 日本語リファレンス
ホームGlobalization › IMLangCodePages

IMLangCodePages

COM
IID359f3443-bd4a-11d0-b188-00aa0038c969継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT GetCharCodePages(WCHAR chSrc, DWORD* pdwCodePages)
chSrcWCHARin判定対象となる1つのUnicode文字。
pdwCodePagesDWORD*outその文字を表現できるコードページの集合(ビットマスク)を受け取る出力ポインタ。
vtbl 4 HRESULT GetStrCodePages(LPWSTR pszSrc, INT cchSrc, DWORD dwPriorityCodePages, DWORD* pdwCodePages, INT* pcchCodePages)
pszSrcLPWSTRin判定対象のWide文字列。
cchSrcINTinソース文字列の文字数。-1でヌル終端まで。
dwPriorityCodePagesDWORDin優先的に選びたいコードページの集合(ビットマスク)。
pdwCodePagesDWORD*outoptional先頭から共通して表現可能なコードページの集合を受け取る出力ポインタ。
pcchCodePagesINT*outoptionalそのコードページ集合で表現できた先頭からの文字数を受け取る出力ポインタ。
vtbl 5 HRESULT CodePageToCodePages(DWORD uCodePage, DWORD* pdwCodePages)
uCodePageDWORDin変換元の単一コードページ番号。
pdwCodePagesDWORD*out対応するコードページ集合(ビットマスク)を受け取る出力ポインタ。
vtbl 6 HRESULT CodePagesToCodePage(DWORD dwCodePages, DWORD uDefaultCodePage, DWORD* puCodePage)
dwCodePagesDWORDin対象とするコードページ集合(ビットマスク)。
uDefaultCodePageDWORDin集合内に複数該当する場合に優先する既定のコードページ番号。
puCodePageDWORD*out選択された単一のコードページ番号を受け取る出力ポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IMLangCodePages "{359F3443-BD4A-11D0-B188-00AA0038C969}"
#usecom global IMLangCodePages IID_IMLangCodePages "{}"
#comfunc global IMLangCodePages_GetCharCodePages     3 int,var
#comfunc global IMLangCodePages_GetStrCodePages      4 wstr,int,int,var,var
#comfunc global IMLangCodePages_CodePageToCodePages  5 int,var
#comfunc global IMLangCodePages_CodePagesToCodePage  6 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。