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.

186 lines
3.0 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. headers.h
  5. Abstract:
  6. This module includes global headers used by SCE
  7. Author:
  8. Jin Huang (jinhuang) 23-Jan-1998
  9. Revision History:
  10. --*/
  11. #ifndef _sceheaders_
  12. #define _sceheaders_
  13. //
  14. // System header files
  15. //
  16. #pragma warning(push,3)
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. #include <nt.h>
  21. #include <ntrtl.h>
  22. #include <nturtl.h>
  23. #ifdef __cplusplus
  24. }
  25. #endif
  26. //
  27. // Windows Headers
  28. //
  29. #include <windows.h>
  30. #include <rpc.h>
  31. //
  32. // C Runtime Header
  33. //
  34. #include <malloc.h>
  35. #include <memory.h>
  36. #include <process.h>
  37. #include <signal.h>
  38. #include <string.h>
  39. #include <stddef.h>
  40. #include <stdio.h>
  41. #include <stdlib.h>
  42. #include <winsvc.h>
  43. #include <setupapi.h>
  44. #include <syssetup.h>
  45. #include <accctrl.h>
  46. #ifdef _WIN64
  47. #include <wow64reg.h>
  48. #endif
  49. //
  50. // CRT header files
  51. //
  52. #include <process.h>
  53. #include <wchar.h>
  54. #include <limits.h>
  55. //
  56. // debug stuff
  57. //
  58. #include <dsysdbg.h>
  59. #if DBG == 1
  60. #ifdef ASSERT
  61. #undef ASSERT
  62. #endif
  63. #define ASSERT DsysAssert
  64. DECLARE_DEBUG2(Sce)
  65. #define SceDebugOut(args) SceDebugPrint args
  66. VOID
  67. DebugInitialize();
  68. VOID
  69. DebugUninit();
  70. #else
  71. #define SceDebugOut(args)
  72. #define DebugInitialize()
  73. #define DebugUninit()
  74. #endif // DBG
  75. #pragma warning (pop)
  76. // disable "symbols too long for debugger" warning: it happens a lot w/ STL
  77. #pragma warning (disable: 4786)
  78. // disable "exception specification ignored" warning: we use exception
  79. // specifications
  80. #pragma warning (disable: 4290)
  81. // who cares about unreferenced inline removal?
  82. #pragma warning (disable: 4514)
  83. // we frequently use constant conditional expressions: do/while(0), etc.
  84. #pragma warning (disable: 4127)
  85. // some stl templates are lousy signed/unsigned mismatches
  86. #pragma warning (disable: 4018 4146)
  87. // we like this extension
  88. #pragma warning (disable: 4239)
  89. // data conversion
  90. #pragma warning (disable: 4267)
  91. /*
  92. // unreferenced formal parameter
  93. #pragma warning (disable: 4100)
  94. // RPC stuff
  95. #pragma warning (disable: 4211)
  96. // cast truncation in RPC
  97. #pragma warning (disable: 4310)
  98. // RPC stuff
  99. #pragma warning (disable: 4232)
  100. */
  101. // often, we have local variables for the express purpose of ASSERTion.
  102. // when compiling retail, those assertions disappear, leaving our locals
  103. // as unreferenced.
  104. #ifndef DBG
  105. #pragma warning (disable: 4189 4100)
  106. #endif // DBG
  107. #include "secedit.h"
  108. #include "common.h"
  109. #include "scemm.h"
  110. #include "uevents.h"
  111. #define SCE_POLICY_EXTENSION_GUID TEXT("{827D319E-6EAC-11D2-A4EA-00C04F79F83A}")
  112. #define SCE_EFS_EXTENSION_GUID TEXT("{B1BE8D72-6EAC-11D2-A4EA-00C04F79F83A}")
  113. #define GPT_SCEDLL_NEW_PATH TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\GPExtensions\\") SCE_POLICY_EXTENSION_GUID
  114. #define GPT_EFS_NEW_PATH TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\GPExtensions\\") SCE_EFS_EXTENSION_GUID
  115. #define SDDLRoot TEXT("D:AR(A;OICI;GA;;;BA)(A;OICI;GA;;;SY)(A;OICIIO;GA;;;CO)(A;CIOI;GRGX;;;BU)(A;CI;0x00000004;;;BU)(A;CIIO;0x00000002;;;BU)(A;;GRGX;;;WD)")
  116. #endif