Win32 API 日本語リファレンス
ホームData.Xml.MsXml › ISAXLexicalHandler

ISAXLexicalHandler

COM
IID7f85d5f5-47a8-4497-bda5-84ba04819ea6継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT startDTD(LPWSTR pwchName, INT cchName, LPWSTR pwchPublicId, INT cchPublicId, LPWSTR pwchSystemId, INT cchSystemId)
pwchNameLPWSTRin文書型(DOCTYPE)の名前文字列。
cchNameINTinDOCTYPE名の文字数。
pwchPublicIdLPWSTRinDTDの公開識別子文字列。NULL可。
cchPublicIdINTin公開識別子の文字数。
pwchSystemIdLPWSTRinDTDのシステム識別子文字列。NULL可。
cchSystemIdINTinシステム識別子の文字数。
vtbl 4 HRESULT endDTD()
vtbl 5 HRESULT startEntity(LPWSTR pwchName, INT cchName)
pwchNameLPWSTRin開始するエンティティの名前文字列。
cchNameINTinエンティティ名の文字数。
vtbl 6 HRESULT endEntity(LPWSTR pwchName, INT cchName)
pwchNameLPWSTRin終了するエンティティの名前文字列。
cchNameINTinエンティティ名の文字数。
vtbl 7 HRESULT startCDATA()
vtbl 8 HRESULT endCDATA()
vtbl 9 HRESULT comment(LPWSTR pwchChars, INT cchChars)
pwchCharsLPWSTRinコメントの内容文字列。
cchCharsINTinコメント内容の文字数。

HSP用 COM定義

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

#define global IID_ISAXLexicalHandler "{7F85D5F5-47A8-4497-BDA5-84BA04819EA6}"
#usecom global ISAXLexicalHandler IID_ISAXLexicalHandler "{}"
#comfunc global ISAXLexicalHandler_startDTD     3 wstr,int,wstr,int,wstr,int
#comfunc global ISAXLexicalHandler_endDTD       4
#comfunc global ISAXLexicalHandler_startEntity  5 wstr,int
#comfunc global ISAXLexicalHandler_endEntity    6 wstr,int
#comfunc global ISAXLexicalHandler_startCDATA   7
#comfunc global ISAXLexicalHandler_endCDATA     8
#comfunc global ISAXLexicalHandler_comment      9 wstr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。