Source code of Windows XP (NT5)
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.2 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. // --------------------------------------------------------------------------
  27. class CBadApplicationAPIRequest : public CAPIRequest
  28. {
  29. private:
  30. CBadApplicationAPIRequest (void);
  31. public:
  32. CBadApplicationAPIRequest (CAPIDispatcher* pAPIDispatcher);
  33. CBadApplicationAPIRequest (CAPIDispatcher* pAPIDispatcher, const CPortMessage& portMessage);
  34. virtual ~CBadApplicationAPIRequest (void);
  35. virtual NTSTATUS Execute (void);
  36. static NTSTATUS StaticInitialize (HINSTANCE hInstance);
  37. static NTSTATUS StaticTerminate (void);
  38. private:
  39. NTSTATUS Execute_QueryRunning (void);
  40. NTSTATUS Execute_RegisterRunning (void);
  41. NTSTATUS Execute_QueryUserPermission (void);
  42. NTSTATUS Execute_TerminateRunning (void);
  43. NTSTATUS Execute_RequestSwitchUser (void);
  44. private:
  45. static CBadApplicationManager* s_pBadApplicationManager;
  46. };
  47. #endif /* _BadApplicationAPIRequest_ */