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.

56 lines
2.4 KiB

  1. // --------------------------------------------------------------------------
  2. // Module Name: BadApplicationAPIRequest.h
  3. //
  4. // Copyright (c) 2000, Microsoft Corporation
  5. //
  6. // This file contains a class to implement bad application manager API
  7. // requests.
  8. //
  9. // History: 2000-08-25 vtan created
  10. // 2000-12-04 vtan moved to separate file
  11. // --------------------------------------------------------------------------
  12. #ifndef _BadApplicationAPIRequest_
  13. #define _BadApplicationAPIRequest_
  14. #include "APIDispatcher.h"
  15. #include "APIRequest.h"
  16. #include "BadApplicationManager.h"
  17. #include "PortMessage.h"
  18. // --------------------------------------------------------------------------
  19. // CBadApplicationAPIRequest
  20. //
  21. // Purpose: This is an intermediate class that contains a common method
  22. // that can be used by sub-classes.
  23. //
  24. // History: 2000-08-25 vtan created
  25. // 2000-12-04 vtan moved to separate file
  26. // 2002-03-24 scotthan propagate DispatchSync to API request instance.
  27. // --------------------------------------------------------------------------
  28. class CBadApplicationAPIRequest : public CAPIRequest
  29. {
  30. private:
  31. CBadApplicationAPIRequest (void);
  32. public:
  33. CBadApplicationAPIRequest (CAPIDispatcher* pAPIDispatcher);
  34. CBadApplicationAPIRequest (CAPIDispatcher* pAPIDispatcher, const CPortMessage& portMessage);
  35. virtual ~CBadApplicationAPIRequest (void);
  36. virtual NTSTATUS Execute (CAPIDispatchSync* pAPIDispatchSync);
  37. static NTSTATUS StaticInitialize (HINSTANCE hInstance);
  38. static NTSTATUS StaticTerminate (void);
  39. private:
  40. NTSTATUS Execute_QueryRunning (void);
  41. NTSTATUS Execute_RegisterRunning (void);
  42. NTSTATUS Execute_QueryUserPermission (void);
  43. NTSTATUS Execute_TerminateRunning (void);
  44. NTSTATUS Execute_RequestSwitchUser (void);
  45. private:
  46. static CBadApplicationManager* s_pBadApplicationManager;
  47. };
  48. #endif /* _BadApplicationAPIRequest_ */