mirror of https://github.com/lianthony/NT4.0
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.
184 lines
3.7 KiB
184 lines
3.7 KiB
/*++
|
|
|
|
Copyright (c) 1995 Microsoft Corporation
|
|
|
|
Module Name :
|
|
gsvcinfo.cxx
|
|
|
|
Abstract:
|
|
This module implements the Internet Gateway service info object
|
|
derived from ISVC_INFO.
|
|
|
|
Author:
|
|
|
|
Murali R. Krishnan ( MuraliK ) 28-July-1995
|
|
|
|
Environment:
|
|
Win32 -- User Mode
|
|
|
|
Project:
|
|
|
|
Internet Services Common DLL
|
|
|
|
Functions Exported:
|
|
|
|
IGSVC_INFO::IGSVC_INFO()
|
|
IGSVC_INFO::~IGSVC_INFO()
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
/************************************************************
|
|
* Include Headers
|
|
************************************************************/
|
|
|
|
# include <tcpdllp.hxx>
|
|
# include "gsvcinfo.hxx"
|
|
|
|
/************************************************************
|
|
* Functions
|
|
************************************************************/
|
|
|
|
|
|
|
|
IGSVC_INFO::IGSVC_INFO(
|
|
IN DWORD dwServiceId,
|
|
IN LPCTSTR lpszServiceName,
|
|
IN CHAR * lpszModuleName,
|
|
IN CHAR * lpszRegParamKey
|
|
)
|
|
/*++
|
|
Desrcription:
|
|
|
|
Contructor for IGSVC_INFO class.
|
|
This constructs a new service info object for the service specified.
|
|
|
|
Arguments:
|
|
|
|
dwServiceId
|
|
DWORD containing the bitflag id for service.
|
|
|
|
lpszServiceName
|
|
name of the service to be created.
|
|
|
|
lpszModuleName
|
|
name of the module for loading string resources.
|
|
|
|
lpszRegParamKey
|
|
fully qualified name of the registry key that contains the
|
|
common service data for this server
|
|
|
|
On success it initializes all the members of the object,
|
|
inserts itself to the global list of service info objects and
|
|
returns with success.
|
|
|
|
Note:
|
|
The caller of this function should check the validity by
|
|
invoking the member function IsValid() after constructing
|
|
this object.
|
|
|
|
--*/
|
|
:
|
|
ISVC_INFO( dwServiceId, lpszServiceName, lpszModuleName, lpszRegParamKey),
|
|
m_fValid (FALSE)
|
|
{
|
|
|
|
m_fValid = TRUE; // for present turn on otherwise watch for other inits
|
|
|
|
} // IGSVC_INFO::IGSVC_INFO()
|
|
|
|
|
|
|
|
|
|
|
|
IGSVC_INFO::~IGSVC_INFO(VOID)
|
|
/*++
|
|
|
|
Description:
|
|
|
|
Cleanup the IGsvcInfo object. If the service is not already
|
|
terminated, it terminates the service before cleanup.
|
|
|
|
Arguments:
|
|
None
|
|
|
|
Returns:
|
|
None
|
|
|
|
--*/
|
|
{
|
|
// Nothing to cleanup now.....
|
|
|
|
} // IGSVC_INFO::~IGSVC_INFO()
|
|
|
|
|
|
|
|
BOOL
|
|
IGSVC_INFO::SetConfiguration(
|
|
IN PVOID pConfig
|
|
)
|
|
/*++
|
|
|
|
Description
|
|
|
|
Writes the service config items to the registry
|
|
|
|
Arguments:
|
|
|
|
pConfig - Admin items to write to the registry
|
|
|
|
Note:
|
|
We don't need to lock "this" object because we only write to the registry
|
|
|
|
The anonymous password is set as a secret from the client side
|
|
|
|
--*/
|
|
{
|
|
return( ISVC_INFO::SetConfiguration( pConfig ) );
|
|
}
|
|
|
|
|
|
BOOL
|
|
IGSVC_INFO::GetConfiguration( IN OUT PVOID pConfig)
|
|
/*++
|
|
This function copies the current configuration for a service
|
|
(IGSVC_INFO) into the given RPC object pConfig.
|
|
In case of any failures, it deallocates any memory block that was
|
|
allocated during the process of copy by this function alone.
|
|
|
|
Arguments:
|
|
pConfig - pointer to RPC configuration object for a service.
|
|
|
|
Returns:
|
|
|
|
TRUE for success and FALSE for any errors.
|
|
--*/
|
|
{
|
|
return( ISVC_INFO::GetConfiguration( pConfig ) );
|
|
}
|
|
|
|
|
|
# if DBG
|
|
VOID
|
|
IGSVC_INFO::Print(VOID) const
|
|
{
|
|
ISVC_INFO::Print();
|
|
|
|
DBGPRINTF(( DBG_CONTEXT,
|
|
" Printing IGSVC_INFO object = %08x\n"
|
|
" Valid = %u\n"
|
|
,
|
|
this,
|
|
m_fValid));
|
|
|
|
return;
|
|
} // IGSVC_INFO::Print()
|
|
|
|
|
|
# endif // DBG
|
|
|
|
|
|
|
|
/************************ End of File ***********************/
|