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.
 
 
 
 
 
 

125 lines
2.7 KiB

#ifndef __SSLCONFIGPIPECLIENT__HXX_
#define __SSLCONFIGPIPECLIENT__HXX_
/*++
Copyright (c) 2001 Microsoft Corporation
Module Name :
sslconfigprovclient.hxx
Abstract:
SSL CONFIG PROV client
Client provides easy way of retrieving SSL related parameters
through named pipes.
Only one pipe connection is currently supported and
all client threads have to share it
( exclusive access is maintained by locking )
Client side is guaranteed not to use any COM stuff.
Not using COM was requirement from NT Security folks
to enable HTTPFilter be hosted in lsass
Author:
Jaroslav Dunajsky April-24-2001
Environment:
Win32 - User Mode
Project:
Stream Filter Worker Process
--*/
#include <sslconfigcommon.hxx>
#include <sslconfigpipe.hxx>
class SSL_CONFIG_PROV_CLIENT: protected SSL_CONFIG_PIPE
{
public:
SSL_CONFIG_PROV_CLIENT()
:_pSslConfigChangeCallback( NULL ),
_pSslConfigChangeCallbackParameter( NULL )
{}
~SSL_CONFIG_PROV_CLIENT()
{}
HRESULT
Initialize(
IN SSL_CONFIG_CHANGE_CALLBACK * pSslConfigChangeCallback,
IN OPTIONAL PVOID pvParam = NULL
);
HRESULT
Terminate(
VOID
);
HRESULT
MaintainPipeConnection(
VOID
);
VOID
CancelPendingCalls(
VOID
)
{
_SslConfigChangeProvClient.StopListeningForChanges();
SSL_CONFIG_PIPE::PipeCancel();
}
HRESULT
GetOneSiteSecureBindings(
IN DWORD dwSite,
OUT MULTISZ* pSecureBindings
);
HRESULT
StartAllSitesSecureBindingsEnumeration(
VOID
);
HRESULT
StopAllSitesSecureBindingsEnumeration(
VOID
);
HRESULT
GetNextSiteSecureBindings(
OUT DWORD * pdwId,
OUT MULTISZ * pSecureBindings
);
HRESULT
GetOneSiteSslConfiguration(
IN DWORD dwSiteId,
OUT SITE_SSL_CONFIGURATION * pSiteSslConfiguration
);
private:
SSL_CONFIG_PROV_CLIENT( const SSL_CONFIG_PROV_CLIENT& );
SSL_CONFIG_PROV_CLIENT& operator=( const SSL_CONFIG_PROV_CLIENT& );
HRESULT
ReceiveOneSiteSecureBindings(
OUT DWORD * pdwSiteId,
OUT MULTISZ * pSecureBinding
);
SSL_CONFIG_CHANGE_PROV_CLIENT _SslConfigChangeProvClient;
//
// parameters used for config change provider
//
SSL_CONFIG_CHANGE_CALLBACK * _pSslConfigChangeCallback;
PVOID _pSslConfigChangeCallbackParameter;
};
#endif