#pragma once extern CString g_strPort; class CSvrConnect : public SOUI::TObjRefImpl { public: CSvrConnect(IIpcHandle *pHandle); ~CSvrConnect(); public: public: virtual IIpcHandle * GetIpcHandle(); virtual void BuildShareBufferName(ULONG_PTR idLocal, ULONG_PTR idRemote, TCHAR szBuf[MAX_PATH]) const; void OnGetCdnPort(Param_GetCdnPort & param); FUN_BEGIN FUN_HANDLER(Param_GetCdnPort, OnGetCdnPort) FUN_END private: CAutoRefPtr m_ipcHandle; }; class CIpcSvrCallbackImpl : public SOUI::IIpcSvrCallback { public: CIpcSvrCallbackImpl(void); ~CIpcSvrCallbackImpl(void); private: CAutoRefPtr m_ipcSvr; SComMgr2 m_comMgr; public:// ͨ¹ý IIpcSvrCallback ¼Ì³Ð virtual void OnNewConnection(IIpcHandle * pIpcHandle, IIpcConnection ** ppConn) override; virtual int GetBufSize() const override; virtual void * GetSecurityAttr() const override; virtual void ReleaseSecurityAttr(void * psa) const override; virtual void OnConnected(IIpcConnection * pConn) override; virtual void OnDisconnected(IIpcConnection * pConn) override; public: HRESULT Init( __int64 lBodyId ); CAutoRefPtr GetIpcSvr(); public: static void DoSendCast(IIpcConnection *pConn,ULONG_PTR data); void SendCast( SStringT &strMsg ); public: SStringT m_strMsg; };