109 lines
2.1 KiB
C++
109 lines
2.1 KiB
C++
/*++
|
|
|
|
Copyright (C) 1997-2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
TCPIP.H
|
|
|
|
Abstract:
|
|
|
|
Defines the functions used for tcpip transport.
|
|
|
|
History:
|
|
|
|
a-davj 16-june-97 Created.
|
|
|
|
--*/
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WBEMTCPIP_
|
|
#define _WBEMTCPIP_
|
|
|
|
//***************************************************************************
|
|
//
|
|
// CLASS NAME:
|
|
//
|
|
// CComLink_Tcpip
|
|
//
|
|
// DESCRIPTION:
|
|
//
|
|
// TCPIP implementation of the CComLink.
|
|
//
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
//
|
|
// CLASS NAME:
|
|
//
|
|
// CComLink_Tcpip
|
|
//
|
|
// DESCRIPTION:
|
|
//
|
|
// Unnamed pipe implementation of the CComLink.
|
|
//
|
|
//***************************************************************************
|
|
|
|
class CComLink_Tcpip : public CComLink
|
|
{
|
|
friend DWORD LaunchReadTcpipThread ( LPDWORD pParam ) ;
|
|
public:
|
|
|
|
CComLink_Tcpip (
|
|
|
|
LinkType Type ,
|
|
SOCKET a_Socket
|
|
) ;
|
|
|
|
// Destructor for Tcpip
|
|
|
|
// Sends a COMLINK_MSG_NOTIFY_DESTRUCT to
|
|
// its partner, if any.
|
|
// Does a Release() on the CMsgHandler as well.
|
|
|
|
~CComLink_Tcpip () ;
|
|
|
|
DWORD Call ( IN IOperation &a_Operation ) ;
|
|
|
|
DWORD Transmit ( CTransportStream &a_WriteStream ) ;
|
|
|
|
DWORD StrobeConnection () ;
|
|
|
|
DWORD ProbeConnection () ;
|
|
|
|
DWORD HandleCall ( IN IOperation &a_Operation ) ;
|
|
|
|
DWORD Shutdown () ;
|
|
|
|
void DropLink () ;
|
|
|
|
CObjectSinkProxy* CreateObjectSinkProxy (IN IStubAddress& dwStubAddr,
|
|
IN IWbemServices* pServices);
|
|
|
|
private:
|
|
|
|
DWORD DoReading () ;
|
|
|
|
void ProcessRead ( PACKET_HEADER *ph , BYTE *pData , DWORD dwDataSize ) ;
|
|
|
|
/*
|
|
* Tcpip Handles
|
|
*/
|
|
|
|
SOCKET m_Socket ; // Handle used to read from PIPE
|
|
/*
|
|
* Thread Handle of Reader thread
|
|
*/
|
|
|
|
HANDLE m_ReadThread; // Thread Handle created for Synchronous listening
|
|
HANDLE m_ReadThreadDoneEvent ; // Event Handle used to indicate thread has shutdown, based on hTermEvent.
|
|
|
|
} ;
|
|
|
|
#endif
|