Leaked source code of windows server 2003
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.
 
 
 
 
 
 

110 lines
2.3 KiB

#ifndef __SSLCONFIGCHANGEPROVCLIENT__HXX_
#define __SSLCONFIGCHANGEPROVCLIENT__HXX_
/*++
Copyright (c) 2001 Microsoft Corporation
Module Name :
sslconfigchangeprovclient.hxx
Abstract:
SSL CONFIG CHANGE PROV client
Receives SSL configuration change parameters detected by server side
User of this class shold inherit it class and implement
PipeListener() to process notifications
Author:
Jaroslav Dunajsky April-24-2001
Environment:
Win32 - User Mode
Project:
Stream Filter Worker Process
--*/
#include <sslconfigpipe.hxx>
#include <sslconfigcommon.hxx>
//
// SSL Configuration change callback function
//
typedef VOID SSL_CONFIG_CHANGE_CALLBACK (
PVOID lpParameter,
SSL_CONFIG_CHANGE_COMMAND_ID ConfigChangeType,
DWORD dwSiteId
);
class SSL_CONFIG_CHANGE_PROV_CLIENT: protected SSL_CONFIG_PIPE
{
public:
SSL_CONFIG_CHANGE_PROV_CLIENT()
:_pSslConfigChangeCallback( NULL ),
_pSslConfigChangeCallbackParameter( NULL ),
_fConnected( FALSE )
{}
~SSL_CONFIG_CHANGE_PROV_CLIENT()
{}
HRESULT
StartListeningForChanges(
IN SSL_CONFIG_CHANGE_CALLBACK * pSslConfigChangeCallback,
IN OPTIONAL PVOID pvParam = NULL
);
HRESULT
StopListeningForChanges(
VOID
);
BOOL
IsConnected(
VOID
)
{
return _fConnected;
}
protected:
virtual
HRESULT
PipeListener(
VOID
);
virtual
BOOL
QueryEnablePipeListener(
VOID
)
{
//
// enable launching PipeListener() on private thread
// during Initialize() call
//
return TRUE;
}
private:
SSL_CONFIG_CHANGE_PROV_CLIENT( const SSL_CONFIG_CHANGE_PROV_CLIENT& );
SSL_CONFIG_CHANGE_PROV_CLIENT& operator=( const SSL_CONFIG_CHANGE_PROV_CLIENT& );
SSL_CONFIG_CHANGE_CALLBACK * _pSslConfigChangeCallback;
PVOID _pSslConfigChangeCallbackParameter;
//
// Flag indicating the pipe connection is still OK
//
BOOL _fConnected;
};
#endif