108 lines
1.6 KiB
C++
108 lines
1.6 KiB
C++
/*++
|
|
|
|
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_
|
|
|