Developing COM Components using VC-ATL(3-4)

来源:互联网 发布:windows快速安装工具 编辑:程序博客网 时间:2024/06/05 19:32

文献:http://www.verydemo.com/demo_c92_i191183.html

 

uuid(B1D1C73C-E340-4FDC-8734-92ECEC64DC4E),

dual,

helpstring("IValidateCard Interface"),

pointer_default(unique)

interface IValidateCard : IDispatch

uuid(B3404054-C33E-4931-B737-5783CEEFECDB),

version(1.0),

helpstring("ValidateCreditCardServer 1.0 Type Library")

importlib("stdole32.tlb");

importlib("stdole2.tlb");

uuid(C79635D2-7B86-4B20-A83C-0565DCA54C3C),

helpstring("ValidateCard Class")

coclass ValidateCard

[default] interface IValidateCard;

3.

 

uuid(B1D1C73C-E340-4FDC-8734-92ECEC64DC4E),

dual,

helpstring("IValidateCard Interface"),

pointer_default(unique)

interface IValidateCard : IDispatch

[id(1), helpstring("method ValidateCreditCard")] HRESULT ValidateCreditCard([in] BSTR bstrCCNo,[in]BSTR bstrCCType,[out,retval]long *val );

[id(2), helpstring("method LuhnCheck")] HRESULT LuhnCheck([in] BSTR bstrCCNo,[in]BSTR bstrCCType);

[id(3), helpstring("method LengthCheck")] HRESULT LengthCheck([in] BSTR bstrCCNo,[in]BSTR bstrCCType);

[id(4), helpstring("method PrefixCheck")] HRESULT PrefixCheck([in] BSTR bstrCCNo,[in]BSTR bstrCCType);

};

 

public CComObjectRootEx<CComSingleThreadModel>,

public CComCoClass<CValidateCard, &CLSID_ValidateCard>,

public IDispatchImpl<IValidateCard, &IID_IValidateCard, &LIBID_VALIDATECREDITCARDSERVERLib>

CValidateCard()

}

COM_INTERFACE_ENTRY(IValidateCard)

COM_INTERFACE_ENTRY(IDispatch)

STDMETHOD(PrefixCheck)(/*[in]*/ BSTR bstrCCNo,/*[in]*/BSTR bstrCCType);

STDMETHOD(LengthCheck)(/*[in]*/ BSTR bstrCCNo,/*[in]*/BSTR bstrCCType);

STDMETHOD(LuhnCheck)(/*[in]*/ BSTR bstrCCNo,/*[in]*/BSTR bstrCCType);

STDMETHOD(ValidateCreditCard)(/*[in]*/ BSTR bstrCCNo,/*[in]*/BSTR bstrCCType,/*[out,retval]*/long *val);

0 0