C# Windows Search中ISTEMER接口的C定义
有人能帮我把COM接口定义翻译成C语言吗,或者推荐一个工具来实现这一点?我在谷歌和pinvoke.net上搜索,找不到C签名 接口定义如下:C# Windows Search中ISTEMER接口的C定义,c#,pinvoke,windows-search,C#,Pinvoke,Windows Search,有人能帮我把COM接口定义翻译成C语言吗,或者推荐一个工具来实现这一点?我在谷歌和pinvoke.net上搜索,找不到C签名 接口定义如下: interface IStemmer { HRESULT GetLicenseToUse( [out] WCHAR const **ppwcsLicense ); HRESULT Init( [in] ULONG ulMaxTokenSize, [out] BOOL pfLic
interface IStemmer {
HRESULT GetLicenseToUse(
[out] WCHAR const **ppwcsLicense
);
HRESULT Init(
[in] ULONG ulMaxTokenSize,
[out] BOOL pfLicense
);
HRESULT GenerateWordForms(
[in] WCHAR const *pwcInBuf,
[in] ULONG cwc,
[in] IWordFormSink *pWordFormSink
);
}
interface IWordFormSink {
HRESULT PutWord(
[in] const WCHAR *pwcInBuf ,
[in] ULONG cwc
);
HRESULT PutAltWord(
[in] const WCHAR *pwcInBuf ,
[in] ULONG cwc
);
}
您可以使用以下界面
[ComImport]
[Guid("EFBAF140-7F42-11CE-BE57-00AA0051FE20")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IStemmer
{
void Init([MarshalAs(UnmanagedType.U4)] int ulMaxTokenSize, [MarshalAs(UnmanagedType.Bool)] out bool pfLicense);
void GenerateWordForms([MarshalAs(UnmanagedType.LPWStr)] string pwcInBuf,
[MarshalAs(UnmanagedType.U4)] int cwc,
[MarshalAs(UnmanagedType.Interface)] IWordFormSink pStemSink);
void GetLicenseToUse([MarshalAs(UnmanagedType.LPWStr)] out string ppwcsLicense);
}