Windows-Server-2003/enduser/netmeeting/core/isysinfo.h

56 lines
2.0 KiB
C++

// File: iSysInfo.h
#ifndef _ISYSINFO_H_
#define _ISYSINFO_H_
class USER_DATA_LIST;
class CNmSysInfo : public DllRefCount, public INmSysInfo2, public CConnectionPointContainer
{
private:
static CNmSysInfo* m_pSysInfo;
USER_DATA_LIST m_UserData;
BSTR m_bstrUserName;
public:
CNmSysInfo();
~CNmSysInfo();
BSTR GetUserName() { return m_bstrUserName; }
// IUnknown methods
ULONG STDMETHODCALLTYPE AddRef(void);
ULONG STDMETHODCALLTYPE Release(void);
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, PVOID *ppvObj);
// INmSysInfo methods
HRESULT STDMETHODCALLTYPE IsInstalled(void);
HRESULT STDMETHODCALLTYPE GetProperty(NM_SYSPROP uProp, BSTR *pbstrProp);
HRESULT STDMETHODCALLTYPE SetProperty(NM_SYSPROP uProp, BSTR bstrName);
HRESULT STDMETHODCALLTYPE GetUserData(REFGUID rguid, BYTE **ppb, ULONG *pcb);
HRESULT STDMETHODCALLTYPE SetUserData(REFGUID rguid, BYTE *pb, ULONG cb);
HRESULT STDMETHODCALLTYPE GetNmApp(REFGUID rguid,
BSTR *pbstrApplication, BSTR *pbstrCommandLine, BSTR *pbstrDirectory);
HRESULT STDMETHODCALLTYPE SetNmApp(REFGUID rguid,
BSTR bstrApplication, BSTR bstrCommandLine, BSTR bstrDirectory);
HRESULT STDMETHODCALLTYPE GetNmchCaps(ULONG *pchCaps);
HRESULT STDMETHODCALLTYPE GetLaunchInfo(INmConference **ppConference, INmMember **pMember);
// INmSysInfo2 methods
HRESULT STDMETHODCALLTYPE GetOption(NM_SYSOPT uOption, ULONG * plOption);
HRESULT STDMETHODCALLTYPE SetOption(NM_SYSOPT uOption, ULONG lOption);
HRESULT STDMETHODCALLTYPE ProcessSecurityData(DWORD dwTaskCode, DWORD_PTR dwParam1, DWORD_PTR dwParam2,
DWORD * pdwResult);
HRESULT STDMETHODCALLTYPE GkLogon(BSTR bstrAddr, BSTR bstrAliasID, BSTR bstrAliasE164);
HRESULT STDMETHODCALLTYPE GkLogoff(void);
HRESULT STDMETHODCALLTYPE GkState(NM_GK_STATE * pgkState);
// Internal Methods
HRESULT STDMETHODCALLTYPE GetUserDataList(ULONG * pnRecords, GCCUserData *** pppUserData);
static VOID CALLBACK RasNotify(DWORD dwRasEvent, HRESULT hReason);
};
#endif /* _ISysInfo_H_ */