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.

104 lines
2.1 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. dcomss.h
  5. Abstract:
  6. Common services provided by core the orpcss service.
  7. Author:
  8. Mario Goertzel [MarioGo]
  9. Revision History:
  10. MarioGo 06-14-95 Bits 'n pieces
  11. --*/
  12. #ifndef __DCOMSS_H
  13. #define __DCOMSS_H
  14. #include <nt.h>
  15. #include <ntdef.h>
  16. #include <ntrtl.h>
  17. #include <nturtl.h>
  18. #include <windows.h>
  19. #include <rpc.h>
  20. #include <winsvc.h>
  21. #include <winsafer.h>
  22. #include <wincrypt.h>
  23. #include <wtsapi32.h>
  24. #include <userenv.h>
  25. #include <winnetwk.h>
  26. #include <lm.h>
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30. #if DBG
  31. #if !defined(DEBUGRPC)
  32. #define DEBUGRPC
  33. #endif
  34. #endif // DBG
  35. // Endpoint related functions
  36. RPC_STATUS InitializeEndpointManager(VOID);
  37. USHORT GetProtseqId(PWSTR Protseq);
  38. USHORT GetProtseqIdAnsi(PSTR Protseq);
  39. PWSTR GetProtseq(USHORT ProtseqId);
  40. PWSTR GetEndpoint(USHORT ProtseqId);
  41. RPC_STATUS UseProtseqIfNecessary(USHORT id);
  42. RPC_STATUS DelayedUseProtseq(USHORT id);
  43. VOID CompleteDelayedUseProtseqs();
  44. BOOL IsLocal(USHORT ProtseqId);
  45. void RegisterAuthInfoIfNecessary();
  46. // Must be given dedicated a thread after startup.
  47. DWORD ObjectExporterWorkerThread(PVOID);
  48. // Update service state
  49. VOID UpdateState(DWORD dwNewState);
  50. extern BOOL s_fEnableDCOM; // Set by StartObjectExporter.
  51. DWORD StartEndpointMapper(VOID);
  52. DWORD StartMqManagement(VOID);
  53. DWORD StartObjectExporter(VOID);
  54. DWORD InitializeSCMBeforeListen(VOID);
  55. DWORD InitializeSCM(VOID);
  56. void InitializeSCMAfterListen(VOID);
  57. NTSTATUS ConnectToLsa();
  58. BOOL GetDefaultDomainName();
  59. // Shared by wrapper\epts.c and olescm\clsdata.cxx.
  60. typedef enum {
  61. STOPPED = 1,
  62. START,
  63. STARTED
  64. } PROTSEQ_STATE;
  65. typedef struct {
  66. PROTSEQ_STATE state;
  67. PWSTR pwstrProtseq;
  68. PWSTR pwstrEndpoint;
  69. } PROTSEQ_INFO;
  70. #if DBG==1 && defined(WIN32)
  71. #define SCMVDATEHEAP() if(!HeapValidate(GetProcessHeap(),0,0)){ DebugBreak();}
  72. #else
  73. #define SCMVDATEHEAP()
  74. #endif // DBG==1 && defined(WIN32)
  75. #ifdef __cplusplus
  76. }
  77. #endif
  78. #endif