windows-nt/Source/XPSP1/NT/enduser/netmeeting/srvc/srvccall.h
2020-09-26 16:20:57 +08:00

50 lines
1.2 KiB
C++

// File: srvccall.h
#ifndef _SRVCCALL_H_
#define _SRVCCALL_H_
class CSrvcCall : public INmCallNotify2
{
private:
INmCall * m_pCall;
BOOL m_fIncoming;
LPTSTR m_pszName;
LPTSTR m_pszAddr;
NM_ADDR_TYPE m_addrType;
NM_CALL_STATE m_State;
BOOL m_fSelectedConference;
POSITION m_pos; // position in g_pCallList
DWORD m_dwTick; // tick count at call start
ULONG m_cRef;
DWORD m_dwCookie;
public:
CSrvcCall(INmCall * pCall);
~CSrvcCall();
// IUnknown methods
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppv);
// INmCallNotify methods
STDMETHODIMP NmUI(CONFN uNotify);
STDMETHODIMP StateChanged(NM_CALL_STATE uState);
STDMETHODIMP Failed(ULONG uError);
STDMETHODIMP Accepted(INmConference *pConference);
// INmCallNotify2 methods
STDMETHODIMP CallError(UINT cns);
STDMETHODIMP VersionConflict(HRESULT Status, BOOL *pfContinue);
STDMETHODIMP RemoteConference(BOOL fMCU, BSTR *pwszConfNames, BSTR *pbstrConfToJoin);
STDMETHODIMP RemotePassword(BSTR bstrConference, BSTR *pbstrPassword, BYTE *pb, DWORD cb, BOOL fIsService);
// Internal methods
VOID Update(void);
VOID RemoveCall(void);
};
#endif