windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/lls/server/svctbl.h
2020-09-26 16:20:57 +08:00

75 lines
1.4 KiB
C

/*++
Copyright (c) 1994 Microsoft Corporation
Module Name:
SvcTbl.h
Abstract:
Author:
Arthur Hanson (arth) Dec 07, 1994
Environment:
Revision History:
--*/
#ifndef _LLS_SVCTBL_H
#define _LLS_SVCTBL_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _SERVICE_RECORD {
DWORD Index;
LPTSTR Name;
LPTSTR DisplayName;
DWORD Version;
LPTSTR FamilyName;
LPTSTR FamilyDisplayName;
PMASTER_SERVICE_RECORD MasterService;
BOOL PerSeatLicensing;
RTL_CRITICAL_SECTION ServiceLock;
ULONG SessionCount; // # sessions current active
ULONG MaxSessionCount; // Max # simultaneous sessions
ULONG HighMark; // Max # simultaneous sessions ever attempted
} SERVICE_RECORD, *PSERVICE_RECORD;
extern ULONG ServiceListSize;
extern PSERVICE_RECORD *ServiceList;
extern PSERVICE_RECORD *ServiceFreeList;
extern RTL_RESOURCE ServiceListLock;
NTSTATUS ServiceListInit();
PSERVICE_RECORD ServiceListAdd( LPTSTR ServiceName, ULONG VersionIndex );
PSERVICE_RECORD ServiceListFind( LPTSTR ServiceName );
VOID ServiceListResynch( );
NTSTATUS DispatchRequestLicense( ULONG DataType, PVOID Data, LPTSTR ServiceID, ULONG VersionIndex, BOOL IsAdmin, ULONG *Handle );
VOID DispatchFreeLicense( ULONG Handle );
DWORD VersionToDWORD(LPTSTR Version);
#if DBG
VOID ServiceListDebugDump( );
VOID ServiceListDebugInfoDump( );
#endif
#ifdef __cplusplus
}
#endif
#endif