Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
2.0 KiB

  1. // File: iSysInfo.h
  2. #ifndef _ISYSINFO_H_
  3. #define _ISYSINFO_H_
  4. class USER_DATA_LIST;
  5. class CNmSysInfo : public DllRefCount, public INmSysInfo2, public CConnectionPointContainer
  6. {
  7. private:
  8. static CNmSysInfo* m_pSysInfo;
  9. USER_DATA_LIST m_UserData;
  10. BSTR m_bstrUserName;
  11. public:
  12. CNmSysInfo();
  13. ~CNmSysInfo();
  14. BSTR GetUserName() { return m_bstrUserName; }
  15. // IUnknown methods
  16. ULONG STDMETHODCALLTYPE AddRef(void);
  17. ULONG STDMETHODCALLTYPE Release(void);
  18. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, PVOID *ppvObj);
  19. // INmSysInfo methods
  20. HRESULT STDMETHODCALLTYPE IsInstalled(void);
  21. HRESULT STDMETHODCALLTYPE GetProperty(NM_SYSPROP uProp, BSTR *pbstrProp);
  22. HRESULT STDMETHODCALLTYPE SetProperty(NM_SYSPROP uProp, BSTR bstrName);
  23. HRESULT STDMETHODCALLTYPE GetUserData(REFGUID rguid, BYTE **ppb, ULONG *pcb);
  24. HRESULT STDMETHODCALLTYPE SetUserData(REFGUID rguid, BYTE *pb, ULONG cb);
  25. HRESULT STDMETHODCALLTYPE GetNmApp(REFGUID rguid,
  26. BSTR *pbstrApplication, BSTR *pbstrCommandLine, BSTR *pbstrDirectory);
  27. HRESULT STDMETHODCALLTYPE SetNmApp(REFGUID rguid,
  28. BSTR bstrApplication, BSTR bstrCommandLine, BSTR bstrDirectory);
  29. HRESULT STDMETHODCALLTYPE GetNmchCaps(ULONG *pchCaps);
  30. HRESULT STDMETHODCALLTYPE GetLaunchInfo(INmConference **ppConference, INmMember **pMember);
  31. // INmSysInfo2 methods
  32. HRESULT STDMETHODCALLTYPE GetOption(NM_SYSOPT uOption, ULONG * plOption);
  33. HRESULT STDMETHODCALLTYPE SetOption(NM_SYSOPT uOption, ULONG lOption);
  34. HRESULT STDMETHODCALLTYPE ProcessSecurityData(DWORD dwTaskCode, DWORD_PTR dwParam1, DWORD_PTR dwParam2,
  35. DWORD * pdwResult);
  36. HRESULT STDMETHODCALLTYPE GkLogon(BSTR bstrAddr, BSTR bstrAliasID, BSTR bstrAliasE164);
  37. HRESULT STDMETHODCALLTYPE GkLogoff(void);
  38. HRESULT STDMETHODCALLTYPE GkState(NM_GK_STATE * pgkState);
  39. // Internal Methods
  40. HRESULT STDMETHODCALLTYPE GetUserDataList(ULONG * pnRecords, GCCUserData *** pppUserData);
  41. static VOID CALLBACK RasNotify(DWORD dwRasEvent, HRESULT hReason);
  42. };
  43. #endif /* _ISysInfo_H_ */