|
// DoubleMetaphoneString.h : Declaration of the DoubleMetaphoneString
#pragma once
#include "resource.h" // main symbols
// IDoubleMetaphoneString
[
object,
uuid("CF4FA34B-FDB2-42A5-8DD0-38338FC46320"),
dual, helpstring("IDoubleMetaphoneString Interface"),
pointer_default(unique)
]
__interface IDoubleMetaphoneString : IDispatch
{
HRESULT ComputeMetaphoneKeys([in] BSTR Word, [out] BSTR* PrimaryKey, [out] BSTR* AlternateKey);
HRESULT CompareMetaphoneKeys([in] BSTR PrimaryKey, [in] BSTR AlternateKey1, [in] BSTR PrimaryKey2, [in] BSTR AlternateKey2, [out, retval] VARIANT_BOOL* Result);
HRESULT ComputeMetaphoneKeysScr([in] BSTR Word, [out] VARIANT* PrimaryKey, [out] VARIANT* AlternateKey);
};
// DoubleMetaphoneString
[
coclass,
threading("both"),
vi_progid("MetaphoneCOM.DoubleMetaphoneString"),
progid("MetaphoneCOM.DoubleMetaphoneString.1"),
version(1.0),
uuid("EDDED454-8E77-472D-9AAC-D690AFDF2BCB"),
helpstring("Adam J. Nelson's Double Metaphone String Implementation")
]
class ATL_NO_VTABLE DoubleMetaphoneString :
public IDoubleMetaphoneString
{
public:
DoubleMetaphoneString()
{
}
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
return S_OK;
}
void FinalRelease()
{
}
public:
STDMETHOD(ComputeMetaphoneKeys)(/*[in]*/ BSTR Word, /*[out]*/ BSTR* PrimaryKey, /*[out]*/ BSTR* AlternateKey);
STDMETHOD(CompareMetaphoneKeys)(/*[in]*/ BSTR PrimaryKey1, /*[in]*/ BSTR AlternateKey1, /*[in]*/ BSTR PrimaryKey2, /*[in]*/ BSTR AlternateKey2, /*[out, retval]*/ VARIANT_BOOL* Result);
STDMETHOD(ComputeMetaphoneKeysScr)(/*[in]*/ BSTR Word, /*[out]*/ VARIANT* PrimaryKey, /*[out]*/ VARIANT* AlternateKey);
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
My name is Adam Nelson. I've been a professional programmer since 1996, working on everything from database development, early first-generation web applications, modern n-tier distributed apps, high-performance wireless security tools, to my last job as a Senior Consultant at BearingPoint posted in Baghdad, Iraq training Iraqi developers in the wonders of C# and ASP.NET. I am currently an Engineering Director at Dell.
I have a wide range of skills and interests, including cryptography, image processing, computational linguistics, military history, 3D graphics, database optimization, and mathematics, to name a few.