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.
112 lines
2.1 KiB
112 lines
2.1 KiB
#ifndef _STREAMCONTEXT_HXX_
|
|
#define _STREAMCONTEXT_HXX_
|
|
|
|
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
|
|
Module Name :
|
|
streamcontext.hxx
|
|
|
|
Abstract:
|
|
Implementation of STREAM_CONTEXT. One such object for every connection
|
|
|
|
Author:
|
|
Bilal Alam (BAlam) 29-March-2000
|
|
|
|
Environment:
|
|
Win32 - User Mode
|
|
|
|
Project:
|
|
Stream Filter Worker Process
|
|
--*/
|
|
|
|
|
|
#include "ulcontext.hxx"
|
|
|
|
#define STREAM_CONTEXT_SIGNATURE (DWORD)'XTCS'
|
|
#define STREAM_CONTEXT_SIGNATURE_FREE (DWORD)'xtcs'
|
|
|
|
class STREAM_CONTEXT
|
|
{
|
|
public:
|
|
STREAM_CONTEXT( FILTER_CHANNEL_CONTEXT * ulContext );
|
|
|
|
virtual ~STREAM_CONTEXT();
|
|
|
|
BOOL
|
|
CheckSignature(
|
|
VOID
|
|
) const
|
|
{
|
|
return _dwSignature == STREAM_CONTEXT_SIGNATURE;
|
|
}
|
|
|
|
virtual
|
|
HRESULT
|
|
ProcessRawReadData(
|
|
RAW_STREAM_INFO * pRawStreamInfo,
|
|
BOOL * pfReadMore,
|
|
BOOL * pfComplete
|
|
) = 0;
|
|
|
|
virtual
|
|
HRESULT
|
|
ProcessRawWriteData(
|
|
RAW_STREAM_INFO * pRawStreamInfo,
|
|
BOOL * pfComplete
|
|
) = 0;
|
|
|
|
virtual
|
|
HRESULT
|
|
ProcessNewConnection(
|
|
CONNECTION_INFO * pConnectionInfo,
|
|
ENDPOINT_CONFIG * pEndpointConfig
|
|
) = 0;
|
|
|
|
virtual
|
|
HRESULT
|
|
SendDataBack(
|
|
RAW_STREAM_INFO * /*pRawStreamInfo*/
|
|
)
|
|
{
|
|
return NO_ERROR;
|
|
}
|
|
|
|
virtual
|
|
VOID
|
|
ProcessConnectionClose(
|
|
VOID
|
|
)
|
|
{
|
|
}
|
|
|
|
static
|
|
HRESULT
|
|
Initialize(
|
|
VOID
|
|
);
|
|
|
|
static
|
|
VOID
|
|
Terminate(
|
|
VOID
|
|
);
|
|
|
|
FILTER_CHANNEL_CONTEXT *
|
|
QueryFiltChannelContext(
|
|
VOID
|
|
) const
|
|
{
|
|
DBG_ASSERT( _pFiltChannelContext != NULL );
|
|
return _pFiltChannelContext;
|
|
}
|
|
|
|
private:
|
|
DWORD _dwSignature;
|
|
|
|
FILTER_CHANNEL_CONTEXT * _pFiltChannelContext;
|
|
|
|
};
|
|
|
|
#endif
|