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.

130 lines
2.7 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1997 - 1999
  3. Module Name:
  4. cimplogn.hxx
  5. Abstract:
  6. Contains the definition of the ISensLogon interface.
  7. Author:
  8. Gopal Parupudi <GopalP>
  9. [Notes:]
  10. optional-notes
  11. Revision History:
  12. GopalP 11/17/1997 Start.
  13. --*/
  14. #ifndef __CIMPLOGN_HXX__
  15. #define __CIMPLOGN_HXX__
  16. #include "sensevts.h"
  17. typedef void (FAR PASCAL *LPFNDESTROYED)(void);
  18. class CImpISensLogon : public ISensLogon
  19. {
  20. public:
  21. CImpISensLogon(void);
  22. CImpISensLogon(LPFNDESTROYED);
  23. ~CImpISensLogon(void);
  24. //
  25. // IUnknown
  26. //
  27. STDMETHOD (QueryInterface) (REFIID, LPVOID *);
  28. STDMETHOD_(ULONG, AddRef) (void);
  29. STDMETHOD_(ULONG, Release) (void);
  30. //
  31. // IDispatch
  32. //
  33. STDMETHOD (GetTypeInfoCount) (UINT *);
  34. STDMETHOD (GetTypeInfo) (UINT, LCID, ITypeInfo **);
  35. STDMETHOD (GetIDsOfNames) (REFIID, LPOLESTR *, UINT, LCID, DISPID *);
  36. STDMETHOD (Invoke) (DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *);
  37. //
  38. // ISensLogon
  39. //
  40. STDMETHOD (Logon) (BSTR);
  41. STDMETHOD (Logoff) (BSTR);
  42. STDMETHOD (StartShell) (BSTR);
  43. STDMETHOD (DisplayLock) (BSTR);
  44. STDMETHOD (DisplayUnlock) (BSTR);
  45. STDMETHOD (StartScreenSaver) (BSTR);
  46. STDMETHOD (StopScreenSaver) (BSTR);
  47. private:
  48. ULONG m_cRef;
  49. LPFNDESTROYED m_pfnDestroy;
  50. };
  51. typedef CImpISensLogon FAR * LPCIMPISENSLOGON;
  52. //
  53. // ISensLogon2
  54. //
  55. class CImpISensLogon2 : public ISensLogon2
  56. {
  57. public:
  58. CImpISensLogon2(void);
  59. CImpISensLogon2(LPFNDESTROYED);
  60. ~CImpISensLogon2(void);
  61. //
  62. // IUnknown
  63. //
  64. STDMETHOD (QueryInterface) (REFIID, LPVOID *);
  65. STDMETHOD_(ULONG, AddRef) (void);
  66. STDMETHOD_(ULONG, Release) (void);
  67. //
  68. // IDispatch
  69. //
  70. STDMETHOD (GetTypeInfoCount) (UINT *);
  71. STDMETHOD (GetTypeInfo) (UINT, LCID, ITypeInfo **);
  72. STDMETHOD (GetIDsOfNames) (REFIID, LPOLESTR *, UINT, LCID, DISPID *);
  73. STDMETHOD (Invoke) (DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *);
  74. //
  75. // ISensLogon
  76. //
  77. STDMETHOD (Logon) (BSTR, DWORD);
  78. STDMETHOD (Logoff) (BSTR, DWORD);
  79. STDMETHOD (PostShell) (BSTR, DWORD);
  80. STDMETHOD (SessionDisconnect) (BSTR, DWORD);
  81. STDMETHOD (SessionReconnect) (BSTR, DWORD);
  82. private:
  83. ULONG m_cRef;
  84. LPFNDESTROYED m_pfnDestroy;
  85. };
  86. typedef CImpISensLogon2 FAR * LPCIMPISENSLOGON2;
  87. #endif // __CIMPLOGN_HXX__