// Sms.h : CSms 的声明 #pragma once #include "resource.h" // 主符号 #include "MobsetWeb_i.h" #if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA) #error "Windows CE 平台(如不提供完全 DCOM 支持的 Windows Mobile 平台)上无法正确支持单线程 COM 对象。定义 _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA 可强制 ATL 支持创建单线程 COM 对象实现并允许使用其单线程 COM 对象实现。rgs 文件中的线程模型已被设置为“Free”,原因是该模型是非 DCOM Windows CE 平台支持的唯一线程模型。" #endif using namespace ATL; // CSms class ATL_NO_VTABLE CSms : public CComObjectRootEx<CComSingleThreadModel>, public CComCoClass<CSms, &CLSID_Sms>, public IDispatchImpl<ISms, &IID_ISms, &LIBID_MobsetWebLib, /*wMajor =*/ 1, /*wMinor =*/ 0> { public: CString m_strSendRet; CAdoConnection m_AdoConnection; public: CSms() { } void GetCurrentPath(TCHAR *pPath); DECLARE_REGISTRY_RESOURCEID(IDR_SMS) BEGIN_COM_MAP(CSms) COM_INTERFACE_ENTRY(ISms) COM_INTERFACE_ENTRY(IDispatch) END_COM_MAP() DECLARE_PROTECT_FINAL_CONSTRUCT() HRESULT FinalConstruct() { return S_OK; } void FinalRelease() { } public: STDMETHOD(CheckPasswd)(BSTR User, BSTR Passwd, BSTR Encrypt, LONG Purview, LONG* pRet); STDMETHOD(CheckPasswd2)(LONG CorpID,BSTR User, BSTR Passwd, BSTR TimeStamp, BSTR Encrypt, LONG Purview, LONG* pRet); STDMETHOD(GetPasswd)(BSTR User, BSTR Passwd, BSTR* pRet); STDMETHOD(DePasswd)(BSTR User, BSTR Passwd, BSTR* pRet); STDMETHOD(EncSPMS)(BSTR Key, BSTR Src, BSTR* pRet); STDMETHOD(GetPurview)(LONG PurviewType, LONG* pRet); STDMETHOD(HasSWTPre)(LONG lSDK, LONG* pRet); STDMETHOD(isHasPurview)(LONG Purview, LONG AllPurview, LONG* pRet); STDMETHOD(SendSms)(IDispatch* pAdoConnect, LONG lCorpID, LONG lUserID, LONG lLongSms,LONG lFD, BSTR Timer, BSTR IP, BSTR AddNum, BSTR Recver, BSTR Mobiles, BSTR Msg, LONG* pSendCount); STDMETHOD(get_SendRet)(BSTR* pVal); STDMETHOD(put_SendRet)(BSTR newVal); STDMETHOD(SendSms_Excel)(IDispatch* pAdoConnect, LONG lCorpID, LONG lUserID, LONG lLongSms,LONG lFD, BSTR Timer2, BSTR IP, BSTR ExcelFileName, LONG* lSendCount); STDMETHOD(CorpSmsHttpReq)(BSTR pReq, BSTR pIPAddr, BSTR pReqVer, BSTR* pRet); STDMETHOD(CheckPasswd3)(LONG CorpID, BSTR User, BSTR Passwd, BSTR TimeStamp, BSTR Encrypt, LONG Purview, BSTR* pRet); }; OBJECT_ENTRY_AUTO(__uuidof(Sms), CSms)