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_
|
||
|
|