Source code of Windows XP (NT5)
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.

74 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 1994 Microsoft Corporation
  3. Module Name:
  4. SvcTbl.h
  5. Abstract:
  6. Author:
  7. Arthur Hanson (arth) Dec 07, 1994
  8. Environment:
  9. Revision History:
  10. --*/
  11. #ifndef _LLS_SVCTBL_H
  12. #define _LLS_SVCTBL_H
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. typedef struct _SERVICE_RECORD {
  17. DWORD Index;
  18. LPTSTR Name;
  19. LPTSTR DisplayName;
  20. DWORD Version;
  21. LPTSTR FamilyName;
  22. LPTSTR FamilyDisplayName;
  23. PMASTER_SERVICE_RECORD MasterService;
  24. BOOL PerSeatLicensing;
  25. RTL_CRITICAL_SECTION ServiceLock;
  26. ULONG SessionCount; // # sessions current active
  27. ULONG MaxSessionCount; // Max # simultaneous sessions
  28. ULONG HighMark; // Max # simultaneous sessions ever attempted
  29. } SERVICE_RECORD, *PSERVICE_RECORD;
  30. extern ULONG ServiceListSize;
  31. extern PSERVICE_RECORD *ServiceList;
  32. extern PSERVICE_RECORD *ServiceFreeList;
  33. extern RTL_RESOURCE ServiceListLock;
  34. NTSTATUS ServiceListInit();
  35. PSERVICE_RECORD ServiceListAdd( LPTSTR ServiceName, ULONG VersionIndex );
  36. PSERVICE_RECORD ServiceListFind( LPTSTR ServiceName );
  37. VOID ServiceListResynch( );
  38. NTSTATUS DispatchRequestLicense( ULONG DataType, PVOID Data, LPTSTR ServiceID, ULONG VersionIndex, BOOL IsAdmin, ULONG *Handle );
  39. VOID DispatchFreeLicense( ULONG Handle );
  40. DWORD VersionToDWORD(LPTSTR Version);
  41. #if DBG
  42. VOID ServiceListDebugDump( );
  43. VOID ServiceListDebugInfoDump( );
  44. #endif
  45. #ifdef __cplusplus
  46. }
  47. #endif
  48. #endif