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.
 
 
 
 
 
 

107 lines
1.6 KiB

/*++
Copyright (c) 1999 Microsoft Corporation
Module Name:
wpipm.hxx
Abstract:
Contains the WPIPM class that handles communication with
the admin service. WPIPM responds to pings, and tells
the process when to shut down.
Author:
Michael Courage (MCourage) 22-Feb-1999
Revision History:
--*/
#ifndef _WP_IPM_HXX_
#define _WP_IPM_HXX_
#include "ipm.hxx"
class WP_CONTEXT;
class WP_IPM
: public MESSAGE_LISTENER
{
public:
WP_IPM()
: m_pWpContext(NULL),
m_pMessageGlobal(NULL),
m_pPipe(NULL),
m_hTerminateEvent(NULL),
m_hConnectEvent(NULL)
{}
HRESULT
Initialize(
WP_CONTEXT * pWpContext
);
HRESULT
Terminate(
VOID
);
//
// MESSAGE_LISTENER methods
//
virtual
HRESULT
AcceptMessage(
IN const MESSAGE * pPipeMessage
);
virtual
HRESULT
PipeConnected(
VOID
);
virtual
HRESULT
PipeDisconnected(
IN HRESULT hr
);
HRESULT
SendMsgToAdminProcess(
IPM_WP_SHUTDOWN_MSG reason
);
HRESULT
HandleCounterRequest(
VOID
);
HRESULT
SendInitCompleteMessage(
HRESULT hrToSend
);
private:
HRESULT
HandlePing(
VOID
);
HRESULT
HandleShutdown(
BOOL fImmediate
);
WP_CONTEXT * m_pWpContext;
MESSAGE_GLOBAL * m_pMessageGlobal;
MESSAGE_PIPE * m_pPipe;
HANDLE m_hConnectEvent;
HANDLE m_hTerminateEvent;
};
#endif // _WP_IPM_HXX_