// -------------------------------------------------------------------------- // Module Name: BadApplicationAPIRequest.h // // Copyright (c) 2000, Microsoft Corporation // // This file contains a class to implement bad application manager API // requests. // // History: 2000-08-25 vtan created // 2000-12-04 vtan moved to separate file // -------------------------------------------------------------------------- #ifndef _BadApplicationAPIRequest_ #define _BadApplicationAPIRequest_ #include "APIDispatcher.h" #include "APIRequest.h" #include "BadApplicationManager.h" #include "PortMessage.h" // -------------------------------------------------------------------------- // CBadApplicationAPIRequest // // Purpose: This is an intermediate class that contains a common method // that can be used by sub-classes. // // History: 2000-08-25 vtan created // 2000-12-04 vtan moved to separate file // 2002-03-24 scotthan propagate DispatchSync to API request instance. // -------------------------------------------------------------------------- class CBadApplicationAPIRequest : public CAPIRequest { private: CBadApplicationAPIRequest (void); public: CBadApplicationAPIRequest (CAPIDispatcher* pAPIDispatcher); CBadApplicationAPIRequest (CAPIDispatcher* pAPIDispatcher, const CPortMessage& portMessage); virtual ~CBadApplicationAPIRequest (void); virtual NTSTATUS Execute (CAPIDispatchSync* pAPIDispatchSync); static NTSTATUS StaticInitialize (HINSTANCE hInstance); static NTSTATUS StaticTerminate (void); private: NTSTATUS Execute_QueryRunning (void); NTSTATUS Execute_RegisterRunning (void); NTSTATUS Execute_QueryUserPermission (void); NTSTATUS Execute_TerminateRunning (void); NTSTATUS Execute_RequestSwitchUser (void); private: static CBadApplicationManager* s_pBadApplicationManager; }; #endif /* _BadApplicationAPIRequest_ */