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.

1509 lines
61 KiB

  1. /*++
  2. Copyright (c) 1997-1999 Microsoft Corporation
  3. Module Name :
  4. iiscnfg.h
  5. Abstract:
  6. Contains public Metadata IDs used by IIS.
  7. Environment:
  8. Win32 User Mode
  9. --*/
  10. #ifndef _IISCNFG_H_
  11. #define _IISCNFG_H_
  12. ;begin_internal
  13. /*++
  14. Copyright (c) 1997-1999 Microsoft Corporation
  15. Module Name :
  16. iiscnfgp.h
  17. Abstract:
  18. Contains private Metadata IDs used internally by IIS.
  19. Environment:
  20. Win32 User Mode
  21. --*/
  22. #ifndef _IISCNFGP_H_
  23. #define _IISCNFGP_H_
  24. #include <iiscnfg.h>
  25. ;end_internal
  26. //
  27. // Paths
  28. //
  29. #define IIS_MD_LOCAL_MACHINE_PATH "LM"
  30. //
  31. // Name of the default publishing root under an instance
  32. //
  33. #define IIS_MD_INSTANCE_ROOT "Root"
  34. //
  35. // ISAPI Filters are kept in a list under the instances and the service (for
  36. // global filters) in the following format:
  37. //
  38. // LM/W3Svc/<Instance>/Filters
  39. // MD_FILTER_LOAD_ORDER "Filter1, Filter2, Filter3"
  40. //
  41. // LM/W3Svc/<Instance>/Filters/Filter1
  42. // MD_FILTER_IMAGE_PATH "d:\inetsrv\myfilter.dll"
  43. //
  44. // LM/W3Svc/<Instance>/Filters/Filter2
  45. // MD_FILTER_IMAGE_PATH "d:\inetsrv\otherfilter.dll"
  46. //
  47. #define IIS_MD_ISAPI_FILTERS "/Filters"
  48. //
  49. // Path below each service to the key that publishes service information
  50. //
  51. #define IIS_MD_SVC_INFO_PATH "Info"
  52. //
  53. // ADSI schema properties path
  54. //
  55. #define IIS_MD_ADSI_SCHEMA_PATH_A "/Schema"
  56. #define IIS_MD_ADSI_SCHEMA_PATH_W L"/Schema"
  57. #define IIS_MD_ADSI_METAID_BEGIN 130000
  58. //
  59. // user types
  60. //
  61. // There are two user types:
  62. //
  63. // Server configuration - All the properties for configuring the server that
  64. // are not applicable to files and directories - such as Port, Host name,
  65. // Server comment, Connection timeout etc.
  66. //
  67. // File/Dir configuration - All the properties that can be configured down to
  68. // the files and directories - such as Access permissions (Read, Write etc),
  69. // Extension mapping, IP Security etc.
  70. //
  71. #define IIS_MD_UT_SERVER 1 // Server configuration parameters
  72. #define IIS_MD_UT_FILE 2 // File/Dir inheritable properties
  73. #define IIS_MD_UT_WAM 100 // Web Application configuration parameters
  74. #define ASP_MD_UT_APP 101 // ASP application configuration parameters
  75. #define IIS_MD_UT_END_RESERVED 2000 // All user types below this are
  76. // reserved for IIS services
  77. //
  78. // Metabase property IDs must be unique. This table defines reserved ranges
  79. //
  80. #define IIS_MD_ID_BEGIN_RESERVED 0x00000001 // IIS reserved range
  81. #define IIS_MD_ID_END_RESERVED 0x00007fff
  82. #define ASP_MD_ID_BEGIN_RESERVED 0x00007000 // ASP reserved range, subrange of IIS.
  83. #define ASP_MD_ID_END_RESERVED 0x000074ff
  84. #define WAM_MD_ID_BEGIN_RESERVED 0x00007500 // ASP reserved range, subrange of IIS.
  85. #define WAM_MD_ID_END_RESERVED 0x00007fff
  86. #define FP_MD_ID_BEGIN_RESERVED 0x00008000 // Front page reserved range
  87. #define FP_MD_ID_END_RESERVED 0x00008fff
  88. #define SMTP_MD_ID_BEGIN_RESERVED 0x00009000
  89. #define SMTP_MD_ID_END_RESERVED 0x00009fff
  90. #define POP3_MD_ID_BEGIN_RESERVED 0x0000a000
  91. #define POP3_MD_ID_END_RESERVED 0x0000afff
  92. #define NNTP_MD_ID_BEGIN_RESERVED 0x0000b000
  93. #define NNTP_MD_ID_END_RESERVED 0x0000bfff
  94. #define IMAP_MD_ID_BEGIN_RESERVED 0x0000c000
  95. #define IMAP_MD_ID_END_RESERVED 0x0000cfff
  96. #define MSCS_MD_ID_BEGIN_RESERVED 0x0000d000
  97. #define MSCS_MD_ID_END_RESERVED 0x0000dfff
  98. #define APPCTR_MD_ID_BEGIN_RESERVED 0x0000e000
  99. #define APPCTR_MD_ID_END_RESERVED 0x0000efff
  100. #define USER_MD_ID_BASE_RESERVED 0x0000ffff
  101. //
  102. // General server related attributes - these should be added in the metabase
  103. // with a user type of IIS_MD_UT_SERVER
  104. //
  105. #define IIS_MD_SERVER_BASE 1000
  106. //
  107. // These are global to all services and should only be set at
  108. // the IIS root
  109. //
  110. #define MD_MAX_BANDWIDTH (IIS_MD_SERVER_BASE+0 )
  111. #define MD_KEY_TYPE (IIS_MD_SERVER_BASE+2 )
  112. #define MD_MAX_BANDWIDTH_BLOCKED (IIS_MD_SERVER_BASE+3 )
  113. #define MD_SCHEMA_METAID (IIS_MD_SERVER_BASE+4 )
  114. //
  115. // These properties are applicable to both HTTP and FTP virtual
  116. // servers
  117. //
  118. #define MD_SERVER_COMMAND (IIS_MD_SERVER_BASE+12 )
  119. #define MD_CONNECTION_TIMEOUT (IIS_MD_SERVER_BASE+13 )
  120. #define MD_MAX_CONNECTIONS (IIS_MD_SERVER_BASE+14 )
  121. #define MD_SERVER_COMMENT (IIS_MD_SERVER_BASE+15 )
  122. #define MD_SERVER_STATE (IIS_MD_SERVER_BASE+16 )
  123. #define MD_SERVER_AUTOSTART (IIS_MD_SERVER_BASE+17 )
  124. #define MD_SERVER_SIZE (IIS_MD_SERVER_BASE+18 )
  125. #define MD_SERVER_LISTEN_BACKLOG (IIS_MD_SERVER_BASE+19 )
  126. #define MD_SERVER_LISTEN_TIMEOUT (IIS_MD_SERVER_BASE+20 )
  127. #define MD_DOWNLEVEL_ADMIN_INSTANCE (IIS_MD_SERVER_BASE+21 )
  128. #define MD_LEVELS_TO_SCAN (IIS_MD_SERVER_BASE+22 )
  129. #define MD_SERVER_BINDINGS (IIS_MD_SERVER_BASE+23 )
  130. #define MD_MAX_ENDPOINT_CONNECTIONS (IIS_MD_SERVER_BASE+24 )
  131. ;begin_internal
  132. #define MD_CLUSTER_ENABLED (IIS_MD_SERVER_BASE+25 )
  133. #define MD_CLUSTER_SERVER_COMMAND (IIS_MD_SERVER_BASE+26 )
  134. ;end_internal
  135. #define MD_SERVER_CONFIGURATION_INFO (IIS_MD_SERVER_BASE+27 )
  136. #define MD_IISADMIN_EXTENSIONS (IIS_MD_SERVER_BASE+28 )
  137. #define MD_DISABLE_SOCKET_POOLING (IIS_MD_SERVER_BASE+29 )
  138. #define MD_METADATA_ID_REGISTRATION (IIS_MD_SERVER_BASE+30 )
  139. ;begin_internal
  140. //
  141. // Set by server at startup
  142. //
  143. #define MD_SERVER_PLATFORM (IIS_MD_SERVER_BASE+100 )
  144. #define MD_SERVER_VERSION_MAJOR (IIS_MD_SERVER_BASE+101 )
  145. #define MD_SERVER_VERSION_MINOR (IIS_MD_SERVER_BASE+102 )
  146. #define MD_SERVER_CAPABILITIES (IIS_MD_SERVER_BASE+103 )
  147. typedef VOID (WINAPI * PFN_MAPPER_TOUCHED)( VOID );
  148. ;end_internal
  149. //
  150. // These properties are specific to HTTP and belong to the website
  151. //
  152. #define IIS_MD_HTTP_BASE 2000
  153. #define MD_SECURE_BINDINGS (IIS_MD_HTTP_BASE+21 )
  154. ;begin_internal
  155. #define MD_SSL_MINSTRENGTH (IIS_MD_HTTP_BASE+30)
  156. #define MD_SSL_ALG (IIS_MD_HTTP_BASE+31)
  157. #define MD_SSL_PROTO (IIS_MD_HTTP_BASE+32)
  158. #define MD_SSL_CA (IIS_MD_HTTP_BASE+33)
  159. #define MD_ETAG_CHANGE_NUMBER (IIS_MD_HTTP_BASE+39)
  160. ;end_internal
  161. #define MD_FILTER_LOAD_ORDER (IIS_MD_HTTP_BASE+40 )
  162. #define MD_FILTER_IMAGE_PATH (IIS_MD_HTTP_BASE+41 )
  163. #define MD_FILTER_STATE (IIS_MD_HTTP_BASE+42 )
  164. #define MD_FILTER_ENABLED (IIS_MD_HTTP_BASE+43 )
  165. #define MD_FILTER_FLAGS (IIS_MD_HTTP_BASE+44 )
  166. #define MD_FILTER_DESCRIPTION (IIS_MD_HTTP_BASE+45 )
  167. #define MD_FILTER_ENABLE_CACHE (IIS_MD_HTTP_BASE+46 )
  168. #define MD_ADV_NOTIFY_PWD_EXP_IN_DAYS (IIS_MD_HTTP_BASE+63 )
  169. #define MD_ADV_CACHE_TTL (IIS_MD_HTTP_BASE+64 )
  170. #define MD_NET_LOGON_WKS (IIS_MD_HTTP_BASE+65 )
  171. #define MD_USE_HOST_NAME (IIS_MD_HTTP_BASE+66 )
  172. #define MD_AUTH_CHANGE_FLAGS (IIS_MD_HTTP_BASE+68 )
  173. #define MD_PROCESS_NTCR_IF_LOGGED_ON (IIS_MD_HTTP_BASE+70 )
  174. #define MD_FRONTPAGE_WEB (IIS_MD_HTTP_BASE+72 )
  175. #define MD_IN_PROCESS_ISAPI_APPS (IIS_MD_HTTP_BASE+73 )
  176. ;begin_internal
  177. #define MD_AUTH_CHANGE_URL (IIS_MD_HTTP_BASE+60 )
  178. #define MD_AUTH_EXPIRED_URL (IIS_MD_HTTP_BASE+61 )
  179. #define MD_AUTH_NOTIFY_PWD_EXP_URL (IIS_MD_HTTP_BASE+62 )
  180. #define MD_AUTH_EXPIRED_UNSECUREURL (IIS_MD_HTTP_BASE+67 )
  181. #define MD_AUTH_NOTIFY_PWD_EXP_UNSECUREURL (IIS_MD_HTTP_BASE+69 )
  182. //
  183. // Account Mapping properties - these are INTERNAL ONLY and currently
  184. // reside under /LM/W3Svc/{instance}/<Account Mapper NSE>
  185. //
  186. #define MD_MAPCERT (IIS_MD_HTTP_BASE+78 )
  187. #define MD_MAPNTACCT (IIS_MD_HTTP_BASE+79 )
  188. #define MD_MAPNAME (IIS_MD_HTTP_BASE+80 )
  189. #define MD_MAPENABLED (IIS_MD_HTTP_BASE+81 )
  190. #define MD_MAPREALM (IIS_MD_HTTP_BASE+82 )
  191. #define MD_MAPPWD (IIS_MD_HTTP_BASE+83 )
  192. #define MD_ITACCT (IIS_MD_HTTP_BASE+84 )
  193. #define MD_CPP_CERT11 (IIS_MD_HTTP_BASE+85 )
  194. #define MD_SERIAL_CERT11 (IIS_MD_HTTP_BASE+86 )
  195. #define MD_CPP_CERTW (IIS_MD_HTTP_BASE+87 )
  196. #define MD_SERIAL_CERTW (IIS_MD_HTTP_BASE+88 )
  197. #define MD_CPP_DIGEST (IIS_MD_HTTP_BASE+89 )
  198. #define MD_SERIAL_DIGEST (IIS_MD_HTTP_BASE+90 )
  199. #define MD_CPP_ITA (IIS_MD_HTTP_BASE+91 )
  200. #define MD_SERIAL_ITA (IIS_MD_HTTP_BASE+92 )
  201. #define MD_MAPNTPWD (IIS_MD_HTTP_BASE+93 )
  202. #define MD_SERIAL_ISSUERS (IIS_MD_HTTP_BASE+94 )
  203. ;end_internal
  204. #define MD_ALLOW_PATH_INFO_FOR_SCRIPT_MAPPINGS ( IIS_MD_HTTP_BASE+95)
  205. ;begin_internal
  206. #define MD_NOTIFY_CERT11_TOUCHED (IIS_MD_HTTP_BASE+96)
  207. #define MD_NSEPM_ACCESS_ACCOUNT (IIS_MD_HTTP_BASE+72 )
  208. #define MD_NSEPM_ACCESS_CERT (IIS_MD_HTTP_BASE+73 )
  209. #define MD_NSEPM_ACCESS_NAME (IIS_MD_HTTP_BASE+74 )
  210. #define MD_SERIAL_ALL_CERT11 (IIS_MD_HTTP_BASE+76 )
  211. #define MD_SERIAL_ALL_DIGEST (IIS_MD_HTTP_BASE+77 )
  212. ;end_internal
  213. #define MD_APP_FRIENDLY_NAME (IIS_MD_HTTP_BASE+102)
  214. #define MD_APP_ROOT (IIS_MD_HTTP_BASE+103)
  215. #define MD_APP_ISOLATED (IIS_MD_HTTP_BASE+104)
  216. #define MD_APP_WAM_CLSID (IIS_MD_HTTP_BASE+105)
  217. #define MD_APP_PACKAGE_ID (IIS_MD_HTTP_BASE+106)
  218. #define MD_APP_PACKAGE_NAME (IIS_MD_HTTP_BASE+107)
  219. ;begin_internal
  220. #define MD_APP_LAST_OUTPROC_PID (IIS_MD_HTTP_BASE+108)
  221. #define MD_APP_STATE (IIS_MD_HTTP_BASE+109)
  222. ;end_internal
  223. #define MD_APP_OOP_RECOVER_LIMIT (IIS_MD_HTTP_BASE+110)
  224. #define MD_APP_PERIODIC_RESTART_TIME (IIS_MD_HTTP_BASE+111)
  225. #define MD_APP_PERIODIC_RESTART_REQUESTS (IIS_MD_HTTP_BASE+112)
  226. #define MD_APP_PERIODIC_RESTART_SCHEDULE (IIS_MD_HTTP_BASE+113)
  227. #define MD_APP_SHUTDOWN_TIME_LIMIT (IIS_MD_HTTP_BASE+114)
  228. ;begin_internal
  229. // Default value for MD_APP_OOP_RECOVER_LIMIT
  230. #define APP_OOP_RECOVER_LIMIT_DEFAULT ((DWORD)-1)
  231. ;end_internal
  232. #define MD_ADMIN_INSTANCE (IIS_MD_HTTP_BASE+115)
  233. // This is only used by setup & UI
  234. #define MD_NOT_DELETABLE (IIS_MD_HTTP_BASE+116)
  235. ;begin_internal
  236. // Used by U2 to tell www admin UI that U2 authentication is installed
  237. #define MD_U2_AUTH (IIS_MD_HTTP_BASE+117)
  238. //
  239. // Private CAL configuration parameters
  240. //
  241. #define MD_CAL_MODE (IIS_MD_HTTP_BASE+134)
  242. #define MD_CAL_AUTH_ERRORS (IIS_MD_HTTP_BASE+135)
  243. #define MD_CAL_SSL_ERRORS (IIS_MD_HTTP_BASE+136)
  244. #define MD_LB_REDIRECTED_HOST (IIS_MD_HTTP_BASE+137 )
  245. #define MD_LB_USER_AGENT_LIST (IIS_MD_HTTP_BASE+138 )
  246. ;end_internal
  247. #define MD_CUSTOM_ERROR_DESC (IIS_MD_HTTP_BASE+120)
  248. //
  249. // Client Access License parameters
  250. //
  251. #define MD_CAL_VC_PER_CONNECT (IIS_MD_HTTP_BASE+130)
  252. #define MD_CAL_AUTH_RESERVE_TIMEOUT (IIS_MD_HTTP_BASE+131)
  253. #define MD_CAL_SSL_RESERVE_TIMEOUT (IIS_MD_HTTP_BASE+132)
  254. #define MD_CAL_W3_ERROR (IIS_MD_HTTP_BASE+133)
  255. //
  256. // CPU Accounting and Throttling Properties
  257. //
  258. //
  259. // The enabled flags are per Application or CGI
  260. //
  261. #define MD_CPU_CGI_ENABLED (IIS_MD_HTTP_BASE+140)
  262. #define MD_CPU_APP_ENABLED (IIS_MD_HTTP_BASE+141)
  263. //
  264. // These values are per site
  265. //
  266. #define MD_CPU_LIMITS_ENABLED (IIS_MD_HTTP_BASE+143)
  267. #define MD_CPU_RESET_INTERVAL (IIS_MD_HTTP_BASE+144)
  268. #define MD_CPU_LOGGING_INTERVAL (IIS_MD_HTTP_BASE+145)
  269. #define MD_CPU_LOGGING_OPTIONS (IIS_MD_HTTP_BASE+146)
  270. #define MD_CPU_CGI_LIMIT (IIS_MD_HTTP_BASE+148)
  271. #define MD_CPU_LIMIT_LOGEVENT (IIS_MD_HTTP_BASE+149)
  272. #define MD_CPU_LIMIT_PRIORITY (IIS_MD_HTTP_BASE+150)
  273. #define MD_CPU_LIMIT_PROCSTOP (IIS_MD_HTTP_BASE+151)
  274. #define MD_CPU_LIMIT_PAUSE (IIS_MD_HTTP_BASE+152)
  275. //
  276. // DAV Enabled - Can be set on a per-URL level
  277. //
  278. #define MD_DAV_ENABLED (IIS_MD_HTTP_BASE+153)
  279. //
  280. // Valid values for CPU Accounting's MD_CPU_LOGGING_OPTIONS field
  281. //
  282. #define MD_CPU_DISABLE_ALL_LOGGING 0x0
  283. #define MD_CPU_ENABLE_ALL_PROC_LOGGING 0x1
  284. #define MD_CPU_ENABLE_CGI_LOGGING 0x2
  285. #define MD_CPU_ENABLE_APP_LOGGING 0x4
  286. //
  287. // Valid values for CPU Accounting's MD_CPU_LOGGING_MASK field
  288. // This defines which fields will be logged
  289. //
  290. #define MD_CPU_ENABLE_EVENT 0x01
  291. #define MD_CPU_ENABLE_PROC_TYPE 0x02
  292. #define MD_CPU_ENABLE_USER_TIME 0x04
  293. #define MD_CPU_ENABLE_KERNEL_TIME 0x08
  294. #define MD_CPU_ENABLE_PAGE_FAULTS 0x10
  295. #define MD_CPU_ENABLE_TOTAL_PROCS 0x20
  296. #define MD_CPU_ENABLE_ACTIVE_PROCS 0x40
  297. #define MD_CPU_ENABLE_TERMINATED_PROCS 0x80
  298. #define MD_CPU_ENABLE_LOGGING 0x80000000
  299. //
  300. // Site Server properties
  301. //
  302. ;begin_internal
  303. #define MD_CERT_CHECK_MODE (IIS_MD_HTTP_BASE+160)
  304. //
  305. // MD_REVOCATION_FRESHNESS_TIME works in combination with MD_CERT_CHECK_REVOCATION_FRESHNESS_TIME
  306. // it enables to configure IIS to force CRL download even if currently cached is still valid
  307. #define MD_REVOCATION_FRESHNESS_TIME (IIS_MD_HTTP_BASE+161)
  308. #define MD_REVOCATION_URL_RETRIEVAL_TIMEOUT (IIS_MD_HTTP_BASE+162)
  309. ;end_internal
  310. #define MD_MD_SERVER_SS_AUTH_MAPPING (IIS_MD_HTTP_BASE+200)
  311. //
  312. // valid values for MD_CERT_CHECK_MODE
  313. //
  314. #define MD_CERT_NO_REVOC_CHECK 0x00000001
  315. #define MD_CERT_CACHE_RETRIEVAL_ONLY 0x00000002
  316. #define MD_CERT_CHECK_REVOCATION_FRESHNESS_TIME 0x00000004
  317. #define MD_CERT_NO_USAGE_CHECK 0x00010000
  318. //
  319. // HTTP Compression properties. All are global and unheritable.
  320. //
  321. #define MD_HC_COMPRESSION_DIRECTORY (IIS_MD_HTTP_BASE+210)
  322. #define MD_HC_CACHE_CONTROL_HEADER (IIS_MD_HTTP_BASE+211)
  323. #define MD_HC_EXPIRES_HEADER (IIS_MD_HTTP_BASE+212)
  324. #define MD_HC_DO_DYNAMIC_COMPRESSION (IIS_MD_HTTP_BASE+213)
  325. #define MD_HC_DO_STATIC_COMPRESSION (IIS_MD_HTTP_BASE+214)
  326. #define MD_HC_DO_ON_DEMAND_COMPRESSION (IIS_MD_HTTP_BASE+215)
  327. #define MD_HC_DO_DISK_SPACE_LIMITING (IIS_MD_HTTP_BASE+216)
  328. #define MD_HC_NO_COMPRESSION_FOR_HTTP_10 (IIS_MD_HTTP_BASE+217)
  329. #define MD_HC_NO_COMPRESSION_FOR_PROXIES (IIS_MD_HTTP_BASE+218)
  330. #define MD_HC_NO_COMPRESSION_FOR_RANGE (IIS_MD_HTTP_BASE+219)
  331. #define MD_HC_SEND_CACHE_HEADERS (IIS_MD_HTTP_BASE+220)
  332. #define MD_HC_MAX_DISK_SPACE_USAGE (IIS_MD_HTTP_BASE+221)
  333. #define MD_HC_IO_BUFFER_SIZE (IIS_MD_HTTP_BASE+222)
  334. #define MD_HC_COMPRESSION_BUFFER_SIZE (IIS_MD_HTTP_BASE+223)
  335. #define MD_HC_MAX_QUEUE_LENGTH (IIS_MD_HTTP_BASE+224)
  336. #define MD_HC_FILES_DELETED_PER_DISK_FREE (IIS_MD_HTTP_BASE+225)
  337. #define MD_HC_MIN_FILE_SIZE_FOR_COMP (IIS_MD_HTTP_BASE+226)
  338. #define MD_HC_COMPRESSION_DLL (IIS_MD_HTTP_BASE+237)
  339. #define MD_HC_FILE_EXTENSIONS (IIS_MD_HTTP_BASE+238)
  340. #define MD_HC_MIME_TYPE (IIS_MD_HTTP_BASE+239)
  341. #define MD_HC_PRIORITY (IIS_MD_HTTP_BASE+240)
  342. #define MD_HC_DYNAMIC_COMPRESSION_LEVEL (IIS_MD_HTTP_BASE+241)
  343. #define MD_HC_ON_DEMAND_COMP_LEVEL (IIS_MD_HTTP_BASE+242)
  344. #define MD_HC_CREATE_FLAGS (IIS_MD_HTTP_BASE+243)
  345. #define MD_HC_SCRIPT_FILE_EXTENSIONS (IIS_MD_HTTP_BASE+244)
  346. #define MD_HC_DO_NAMESPACE_DYNAMIC_COMPRESSION (IIS_MD_HTTP_BASE+255)
  347. #define MD_HC_DO_NAMESPACE_STATIC_COMPRESSION (IIS_MD_HTTP_BASE+256)
  348. //
  349. // Generic property indicating a failure status code - Can be used under
  350. // any component that can fail (virtual directory, filters, applications etc)
  351. //
  352. #define MD_WIN32_ERROR (IIS_MD_SERVER_BASE+99 )
  353. //
  354. // Virtual root properties - note MD_ACCESS_PERM is also generally set at
  355. // the virtual directory. These are used for both HTTP and FTP
  356. //
  357. #define IIS_MD_VR_BASE 3000
  358. #define MD_VR_PATH (IIS_MD_VR_BASE+1 )
  359. #define MD_VR_USERNAME (IIS_MD_VR_BASE+2 )
  360. #define MD_VR_PASSWORD (IIS_MD_VR_BASE+3 )
  361. ;begin_internal
  362. #define MD_VR_ACL (IIS_MD_VR_BASE+4 )
  363. ;end_internal
  364. #define MD_VR_PASSTHROUGH (IIS_MD_VR_BASE+6 )
  365. #define MD_VR_NO_CACHE (IIS_MD_VR_BASE+7 )
  366. #define MD_VR_IGNORE_TRANSLATE (IIS_MD_VR_BASE+8 )
  367. ;begin_internal
  368. //
  369. // This is used to flag down updated vr entries - Used for migrating vroots
  370. //
  371. #define MD_VR_UPDATE (IIS_MD_VR_BASE+5 )
  372. ;end_internal
  373. //
  374. // Logging related attributes
  375. //
  376. #define IIS_MD_LOG_BASE 4000
  377. #define MD_LOG_TYPE (IIS_MD_LOG_BASE+0 )
  378. #define MD_LOGFILE_DIRECTORY (IIS_MD_LOG_BASE+1 )
  379. #define MD_LOG_UNUSED1 (IIS_MD_LOG_BASE+2 )
  380. #define MD_LOGFILE_PERIOD (IIS_MD_LOG_BASE+3 )
  381. #define MD_LOGFILE_TRUNCATE_SIZE (IIS_MD_LOG_BASE+4 )
  382. #define MD_LOG_PLUGIN_MOD_ID (IIS_MD_LOG_BASE+5 )
  383. #define MD_LOG_PLUGIN_UI_ID (IIS_MD_LOG_BASE+6 )
  384. #define MD_LOGSQL_DATA_SOURCES (IIS_MD_LOG_BASE+7 )
  385. #define MD_LOGSQL_TABLE_NAME (IIS_MD_LOG_BASE+8 )
  386. #define MD_LOGSQL_USER_NAME (IIS_MD_LOG_BASE+9 )
  387. #define MD_LOGSQL_PASSWORD (IIS_MD_LOG_BASE+10 )
  388. #define MD_LOG_PLUGIN_ORDER (IIS_MD_LOG_BASE+11 )
  389. #define MD_LOG_PLUGINS_AVAILABLE (IIS_MD_LOG_BASE+12 )
  390. #define MD_LOGEXT_FIELD_MASK (IIS_MD_LOG_BASE+13 )
  391. #define MD_LOGEXT_FIELD_MASK2 (IIS_MD_LOG_BASE+14 )
  392. //
  393. // Allow W3C logging file naming and rollover based on Local Time
  394. //
  395. #define MD_LOGFILE_LOCALTIME_ROLLOVER (IIS_MD_LOG_BASE+15)
  396. #define IIS_MD_LOG_LAST MD_LOGFILE_LOCALTIME_ROLLOVER
  397. //
  398. // Log type
  399. //
  400. #define MD_LOG_TYPE_DISABLED 0
  401. #define MD_LOG_TYPE_ENABLED 1
  402. //
  403. // LOGGING values
  404. //
  405. #define MD_LOGFILE_PERIOD_NONE 0
  406. #define MD_LOGFILE_PERIOD_MAXSIZE 0
  407. #define MD_LOGFILE_PERIOD_DAILY 1
  408. #define MD_LOGFILE_PERIOD_WEEKLY 2
  409. #define MD_LOGFILE_PERIOD_MONTHLY 3
  410. #define MD_LOGFILE_PERIOD_HOURLY 4
  411. //
  412. // Field masks for extended logging
  413. // Fields are logged in order of increasing mask value
  414. //
  415. #define MD_EXTLOG_DATE 0x00000001
  416. #define MD_EXTLOG_TIME 0x00000002
  417. #define MD_EXTLOG_CLIENT_IP 0x00000004
  418. #define MD_EXTLOG_USERNAME 0x00000008
  419. #define MD_EXTLOG_SITE_NAME 0x00000010
  420. #define MD_EXTLOG_COMPUTER_NAME 0x00000020
  421. #define MD_EXTLOG_SERVER_IP 0x00000040
  422. #define MD_EXTLOG_METHOD 0x00000080
  423. #define MD_EXTLOG_URI_STEM 0x00000100
  424. #define MD_EXTLOG_URI_QUERY 0x00000200
  425. #define MD_EXTLOG_HTTP_STATUS 0x00000400
  426. #define MD_EXTLOG_WIN32_STATUS 0x00000800
  427. #define MD_EXTLOG_BYTES_SENT 0x00001000
  428. #define MD_EXTLOG_BYTES_RECV 0x00002000
  429. #define MD_EXTLOG_TIME_TAKEN 0x00004000
  430. #define MD_EXTLOG_SERVER_PORT 0x00008000
  431. #define MD_EXTLOG_USER_AGENT 0x00010000
  432. #define MD_EXTLOG_COOKIE 0x00020000
  433. #define MD_EXTLOG_REFERER 0x00040000
  434. #define MD_EXTLOG_PROTOCOL_VERSION 0x00080000
  435. #define MD_EXTLOG_HOST 0x00100000
  436. #define MD_DEFAULT_EXTLOG_FIELDS (MD_EXTLOG_CLIENT_IP | \
  437. MD_EXTLOG_TIME | \
  438. MD_EXTLOG_METHOD | \
  439. MD_EXTLOG_URI_STEM | \
  440. MD_EXTLOG_HTTP_STATUS)
  441. //
  442. // Custom Logging related attributes
  443. //
  444. #define IIS_MD_LOGCUSTOM_BASE 4500
  445. //
  446. // Custom Logging configuration attributes
  447. //
  448. #define MD_LOGCUSTOM_PROPERTY_NAME (IIS_MD_LOGCUSTOM_BASE+1 )
  449. #define MD_LOGCUSTOM_PROPERTY_HEADER (IIS_MD_LOGCUSTOM_BASE+2 )
  450. #define MD_LOGCUSTOM_PROPERTY_ID (IIS_MD_LOGCUSTOM_BASE+3 )
  451. #define MD_LOGCUSTOM_PROPERTY_MASK (IIS_MD_LOGCUSTOM_BASE+4 )
  452. #define MD_LOGCUSTOM_PROPERTY_DATATYPE (IIS_MD_LOGCUSTOM_BASE+5 )
  453. #define MD_LOGCUSTOM_SERVICES_STRING (IIS_MD_LOGCUSTOM_BASE+6 ) // MultiSZ List of services that the property is applicable to.
  454. #define MD_CPU_LOGGING_MASK (IIS_MD_LOGCUSTOM_BASE+7 )
  455. //
  456. // The values for MD_CPU_LOGGING_MASK are defined above.
  457. // See MD_CPU_ENABLE_EVENT, etc.
  458. //
  459. #define IIS_MD_LOGCUSTOM_LAST MD_CPU_LOGGING_MASK
  460. //
  461. // Valid values for Custom Logging's MD_LOGCUSTOM_PROPERTY_DATATYPE field
  462. //
  463. #define MD_LOGCUSTOM_DATATYPE_INT 0
  464. #define MD_LOGCUSTOM_DATATYPE_UINT 1
  465. #define MD_LOGCUSTOM_DATATYPE_LONG 2
  466. #define MD_LOGCUSTOM_DATATYPE_ULONG 3
  467. #define MD_LOGCUSTOM_DATATYPE_FLOAT 4
  468. #define MD_LOGCUSTOM_DATATYPE_DOUBLE 5
  469. #define MD_LOGCUSTOM_DATATYPE_LPSTR 6
  470. #define MD_LOGCUSTOM_DATATYPE_LPWSTR 7
  471. //
  472. // ISAPI Filter Notification Flags
  473. //
  474. #define MD_NOTIFY_SECURE_PORT 0x00000001
  475. #define MD_NOTIFY_NONSECURE_PORT 0x00000002
  476. #define MD_NOTIFY_READ_RAW_DATA 0x00008000
  477. #define MD_NOTIFY_PREPROC_HEADERS 0x00004000
  478. #define MD_NOTIFY_AUTHENTICATION 0x00002000
  479. #define MD_NOTIFY_URL_MAP 0x00001000
  480. #define MD_NOTIFY_ACCESS_DENIED 0x00000800
  481. #define MD_NOTIFY_SEND_RESPONSE 0x00000040
  482. #define MD_NOTIFY_SEND_RAW_DATA 0x00000400
  483. #define MD_NOTIFY_LOG 0x00000200
  484. #define MD_NOTIFY_END_OF_REQUEST 0x00000080
  485. #define MD_NOTIFY_END_OF_NET_SESSION 0x00000100
  486. #define MD_NOTIFY_AUTH_COMPLETE 0x04000000
  487. //
  488. // ISAPI Filter ordering flags
  489. //
  490. #define MD_NOTIFY_ORDER_HIGH 0x00080000
  491. #define MD_NOTIFY_ORDER_MEDIUM 0x00040000
  492. #define MD_NOTIFY_ORDER_LOW 0x00020000
  493. #define MD_NOTIFY_ORDER_DEFAULT MD_NOTIFY_ORDER_LOW
  494. #define MD_NOTIFY_ORDER_MASK (MD_NOTIFY_ORDER_HIGH | \
  495. MD_NOTIFY_ORDER_MEDIUM | \
  496. MD_NOTIFY_ORDER_LOW)
  497. //
  498. // These are FTP specific properties
  499. //
  500. #define IIS_MD_FTP_BASE 5000
  501. #define MD_EXIT_MESSAGE (IIS_MD_FTP_BASE+1 )
  502. #define MD_GREETING_MESSAGE (IIS_MD_FTP_BASE+2 )
  503. #define MD_MAX_CLIENTS_MESSAGE (IIS_MD_FTP_BASE+3 )
  504. #define MD_MSDOS_DIR_OUTPUT (IIS_MD_FTP_BASE+4 )
  505. #define MD_ALLOW_ANONYMOUS (IIS_MD_FTP_BASE+5 )
  506. #define MD_ANONYMOUS_ONLY (IIS_MD_FTP_BASE+6 )
  507. #define MD_LOG_ANONYMOUS (IIS_MD_FTP_BASE+7 )
  508. #define MD_LOG_NONANONYMOUS (IIS_MD_FTP_BASE+8 )
  509. #define MD_ALLOW_REPLACE_ON_RENAME (IIS_MD_FTP_BASE+9 )
  510. #define MD_SHOW_4_DIGIT_YEAR (IIS_MD_FTP_BASE+10 )
  511. #define MD_BANNER_MESSAGE (IIS_MD_FTP_BASE+11 )
  512. #define MD_USER_ISOLATION (IIS_MD_FTP_BASE+12 )
  513. #define MD_FTP_LOG_IN_UTF_8 (IIS_MD_FTP_BASE+13 )
  514. //
  515. // These are SSL specific properties
  516. //
  517. #define IIS_MD_SSL_BASE 5500
  518. #define MD_SSL_PUBLIC_KEY ( IIS_MD_SSL_BASE+0 )
  519. #define MD_SSL_PRIVATE_KEY ( IIS_MD_SSL_BASE+1 )
  520. #define MD_SSL_KEY_PASSWORD ( IIS_MD_SSL_BASE+2 )
  521. #define MD_SSL_KEY_REQUEST ( IIS_MD_SSL_BASE+3 )
  522. ;begin_internal
  523. #define MD_SSL_FRIENDLY_NAME ( IIS_MD_SSL_BASE+4 )
  524. #define MD_SSL_IDENT ( IIS_MD_SSL_BASE+5 )
  525. ;end_internal
  526. //
  527. // These are server certificate properties
  528. //
  529. ;begin_internal
  530. #define MD_SSL_CERT_HASH ( IIS_MD_SSL_BASE+6 )
  531. #define MD_SSL_CERT_CONTAINER ( IIS_MD_SSL_BASE+7 )
  532. #define MD_SSL_CERT_PROVIDER ( IIS_MD_SSL_BASE+8 )
  533. #define MD_SSL_CERT_PROVIDER_TYPE ( IIS_MD_SSL_BASE+9 )
  534. #define MD_SSL_CERT_OPEN_FLAGS ( IIS_MD_SSL_BASE+10 )
  535. #define MD_SSL_CERT_STORE_NAME ( IIS_MD_SSL_BASE+11 )
  536. ;end_internal
  537. //
  538. // These are Certificate Trust List properties
  539. //
  540. ;begin_internal
  541. #define MD_SSL_CTL_IDENTIFIER ( IIS_MD_SSL_BASE+12 )
  542. #define MD_SSL_CTL_CONTAINER ( IIS_MD_SSL_BASE+13 )
  543. #define MD_SSL_CTL_PROVIDER ( IIS_MD_SSL_BASE+14 )
  544. #define MD_SSL_CTL_PROVIDER_TYPE ( IIS_MD_SSL_BASE+15 )
  545. #define MD_SSL_CTL_OPEN_FLAGS ( IIS_MD_SSL_BASE+16 )
  546. #define MD_SSL_CTL_STORE_NAME ( IIS_MD_SSL_BASE+17 )
  547. #define MD_SSL_CTL_SIGNER_HASH ( IIS_MD_SSL_BASE+18 )
  548. ;end_internal
  549. //
  550. // Metabase property that defines whether to use DS mapper or not
  551. //
  552. #define MD_SSL_USE_DS_MAPPER ( IIS_MD_SSL_BASE+19 )
  553. ;begin_internal
  554. //
  555. // Metabase property that holds SSL replication information
  556. //
  557. #define MD_SSL_REPLICATION_INFO ( IIS_MD_SSL_BASE+20 )
  558. ;end_internal
  559. //
  560. // Metabase properties that are used by the CertWiz ActiveX control, that
  561. // is used for the Certificate/CTL UI management tool
  562. //
  563. ;begin_internal
  564. #define MD_SSL_CERT_ENROLL_HISTORY ( IIS_MD_SSL_BASE+31 )
  565. #define MD_SSL_CERT_ENROLL_TIME ( IIS_MD_SSL_BASE+32 )
  566. #define MD_SSL_CERT_ENROLL_STATE ( IIS_MD_SSL_BASE+33 )
  567. #define MD_SSL_CERT_ENROLL_STATE_ERROR ( IIS_MD_SSL_BASE+34 )
  568. ;end_internal
  569. //
  570. // Metabase properties used for Fortezza certificates
  571. //
  572. ;begin_internal
  573. #define MD_SSL_CERT_IS_FORTEZZA ( IIS_MD_SSL_BASE+35 )
  574. #define MD_SSL_CERT_FORTEZZA_PIN ( IIS_MD_SSL_BASE+36 )
  575. #define MD_SSL_CERT_FORTEZZA_SERIAL_NUMBER ( IIS_MD_SSL_BASE+37 )
  576. #define MD_SSL_CERT_FORTEZZA_PERSONALITY ( IIS_MD_SSL_BASE+38 )
  577. #define MD_SSL_CERT_FORTEZZA_PROG_PIN ( IIS_MD_SSL_BASE+39 )
  578. ;end_internal
  579. //
  580. // Metabase properties that are used by the CertWiz ActiveX control to keep
  581. // track of the user's entry history, and whether DEBUG is enabled. We keep
  582. // these private properties on a per VS basis.
  583. //
  584. ;begin_internal
  585. #define MD_SSL_CERT_WIZ_DEBUG ( IIS_MD_SSL_BASE+50 )
  586. #define MD_SSL_CERT_WIZHIST_SZ_TARGET_CA ( IIS_MD_SSL_BASE+51 )
  587. #define MD_SSL_CERT_WIZHIST_SZ_FILE_NAME_USED_LAST ( IIS_MD_SSL_BASE+52 )
  588. #define MD_SSL_CERT_WIZHIST_SZ_DN_COMMON_NAME ( IIS_MD_SSL_BASE+53 )
  589. #define MD_SSL_CERT_WIZHIST_SZ_DN_O ( IIS_MD_SSL_BASE+54 )
  590. #define MD_SSL_CERT_WIZHIST_SZ_DN_OU ( IIS_MD_SSL_BASE+55 )
  591. #define MD_SSL_CERT_WIZHIST_SZ_DN_C ( IIS_MD_SSL_BASE+56 )
  592. #define MD_SSL_CERT_WIZHIST_SZ_DN_L ( IIS_MD_SSL_BASE+57 )
  593. #define MD_SSL_CERT_WIZHIST_SZ_DN_S ( IIS_MD_SSL_BASE+58 )
  594. #define MD_SSL_CERT_WIZHIST_SZ_USER_NAME ( IIS_MD_SSL_BASE+59 )
  595. #define MD_SSL_CERT_WIZHIST_SZ_USER_PHONE ( IIS_MD_SSL_BASE+60 )
  596. #define MD_SSL_CERT_WIZHIST_SZ_USER_EMAIL ( IIS_MD_SSL_BASE+61 )
  597. #define MD_SSL_CERT_WIZGUID_ICERTGETCONFIG ( IIS_MD_SSL_BASE+71 )
  598. #define MD_SSL_CERT_WIZGUID_ICERTREQUEST ( IIS_MD_SSL_BASE+72 )
  599. #define MD_SSL_CERT_WIZGUID_XENROLL ( IIS_MD_SSL_BASE+73 )
  600. #define MD_SSL_CERT_WIZGUID_ICERTCONFIG ( IIS_MD_SSL_BASE+74 )
  601. #define MD_SSL_CERT_WIZ_OOB_PKCS10 ( IIS_MD_SSL_BASE+80 )
  602. #define MD_SSL_CERT_WIZ_OOB_PKCS10_ACCEPTED ( IIS_MD_SSL_BASE+81 )
  603. #define MD_SSL_CERT_WIZ_OOB_TEMPCERT ( IIS_MD_SSL_BASE+82 )
  604. ;end_internal
  605. // File and Directory related properties - these should be added in the
  606. // metabase with a user type of IIS_MD_UT_FILE
  607. //
  608. #define IIS_MD_FILE_PROP_BASE 6000
  609. #define MD_AUTHORIZATION (IIS_MD_FILE_PROP_BASE )
  610. #define MD_REALM (IIS_MD_FILE_PROP_BASE+1 )
  611. #define MD_HTTP_EXPIRES (IIS_MD_FILE_PROP_BASE+2 )
  612. #define MD_HTTP_PICS (IIS_MD_FILE_PROP_BASE+3 )
  613. #define MD_HTTP_CUSTOM (IIS_MD_FILE_PROP_BASE+4 )
  614. #define MD_DIRECTORY_BROWSING (IIS_MD_FILE_PROP_BASE+5 )
  615. #define MD_DEFAULT_LOAD_FILE (IIS_MD_FILE_PROP_BASE+6 )
  616. ;begin_internal
  617. #define MD_CONTENT_NEGOTIATION (IIS_MD_FILE_PROP_BASE+7 )
  618. ;end_internal
  619. #define MD_CUSTOM_ERROR (IIS_MD_FILE_PROP_BASE+8 )
  620. #define MD_FOOTER_DOCUMENT (IIS_MD_FILE_PROP_BASE+9 )
  621. #define MD_FOOTER_ENABLED (IIS_MD_FILE_PROP_BASE+10 )
  622. #define MD_HTTP_REDIRECT (IIS_MD_FILE_PROP_BASE+11 )
  623. #define MD_DEFAULT_LOGON_DOMAIN (IIS_MD_FILE_PROP_BASE+12 )
  624. #define MD_LOGON_METHOD (IIS_MD_FILE_PROP_BASE+13 )
  625. #define MD_SCRIPT_MAPS (IIS_MD_FILE_PROP_BASE+14 )
  626. #define MD_MIME_MAP (IIS_MD_FILE_PROP_BASE+15 )
  627. #define MD_ACCESS_PERM (IIS_MD_FILE_PROP_BASE+16 )
  628. #define MD_IP_SEC (IIS_MD_FILE_PROP_BASE+19 )
  629. #define MD_ANONYMOUS_USER_NAME (IIS_MD_FILE_PROP_BASE+20 )
  630. #define MD_ANONYMOUS_PWD (IIS_MD_FILE_PROP_BASE+21 )
  631. #define MD_ANONYMOUS_USE_SUBAUTH (IIS_MD_FILE_PROP_BASE+22 )
  632. #define MD_DONT_LOG (IIS_MD_FILE_PROP_BASE+23 )
  633. #define MD_ADMIN_ACL (IIS_MD_FILE_PROP_BASE+27 )
  634. #define MD_SSI_EXEC_DISABLED (IIS_MD_FILE_PROP_BASE+28 )
  635. #define MD_DO_REVERSE_DNS (IIS_MD_FILE_PROP_BASE+29 )
  636. #define MD_SSL_ACCESS_PERM (IIS_MD_FILE_PROP_BASE+30 )
  637. #define MD_AUTHORIZATION_PERSISTENCE (IIS_MD_FILE_PROP_BASE+31 )
  638. #define MD_NTAUTHENTICATION_PROVIDERS (IIS_MD_FILE_PROP_BASE+32 )
  639. #define MD_SCRIPT_TIMEOUT (IIS_MD_FILE_PROP_BASE+33 )
  640. #define MD_CACHE_EXTENSIONS (IIS_MD_FILE_PROP_BASE+34 )
  641. #define MD_CREATE_PROCESS_AS_USER (IIS_MD_FILE_PROP_BASE+35 )
  642. #define MD_CREATE_PROC_NEW_CONSOLE (IIS_MD_FILE_PROP_BASE+36 )
  643. #define MD_POOL_IDC_TIMEOUT (IIS_MD_FILE_PROP_BASE+37 )
  644. #define MD_ALLOW_KEEPALIVES (IIS_MD_FILE_PROP_BASE+38 )
  645. #define MD_IS_CONTENT_INDEXED (IIS_MD_FILE_PROP_BASE+39 )
  646. ;begin_internal
  647. #define MD_NOTIFY_EXAUTH (IIS_MD_FILE_PROP_BASE+40 )
  648. ;end_internal
  649. #define MD_CC_NO_CACHE (IIS_MD_FILE_PROP_BASE+41 )
  650. #define MD_CC_MAX_AGE (IIS_MD_FILE_PROP_BASE+42 )
  651. #define MD_CC_OTHER (IIS_MD_FILE_PROP_BASE+43 )
  652. #define MD_REDIRECT_HEADERS (IIS_MD_FILE_PROP_BASE+44 )
  653. #define MD_UPLOAD_READAHEAD_SIZE (IIS_MD_FILE_PROP_BASE+45 )
  654. #define MD_PUT_READ_SIZE (IIS_MD_FILE_PROP_BASE+46 )
  655. #define MD_USE_DIGEST_SSP (IIS_MD_FILE_PROP_BASE+47 )
  656. ;begin_internal
  657. //
  658. // The following are "Virtual Properties", in that they have prop values in
  659. // the Metabase schema, but sets map to a particular metabase property.
  660. // For the most part these are where a DWORD property is used as a bitfield.
  661. //
  662. #define MD_VPROP_DIRBROW_SHOW_DATE (IIS_MD_FILE_PROP_BASE+200 )
  663. #define MD_VPROP_DIRBROW_SHOW_TIME (IIS_MD_FILE_PROP_BASE+201 )
  664. #define MD_VPROP_DIRBROW_SHOW_SIZE (IIS_MD_FILE_PROP_BASE+202 )
  665. #define MD_VPROP_DIRBROW_SHOW_EXTENSION (IIS_MD_FILE_PROP_BASE+203)
  666. #define MD_VPROP_DIRBROW_LONG_DATE (IIS_MD_FILE_PROP_BASE+204 )
  667. #define MD_VPROP_DIRBROW_ENABLED (IIS_MD_FILE_PROP_BASE+205 ) // Allow directory browsing
  668. #define MD_VPROP_DIRBROW_LOADDEFAULT (IIS_MD_FILE_PROP_BASE+206 ) // Load default doc if exists
  669. #define MD_VPROP_ACCESS_READ (IIS_MD_FILE_PROP_BASE+207 ) // Allow for Read
  670. #define MD_VPROP_ACCESS_WRITE (IIS_MD_FILE_PROP_BASE+208 ) // Allow for Write
  671. #define MD_VPROP_ACCESS_EXECUTE (IIS_MD_FILE_PROP_BASE+209 ) // Allow for Execute
  672. #define MD_VPROP_ACCESS_SCRIPT (IIS_MD_FILE_PROP_BASE+211 ) // Allow for Script execution
  673. #define MD_VPROP_ACCESS_SSL (IIS_MD_FILE_PROP_BASE+213 ) // Require SSL
  674. #define MD_VPROP_ACCESS_NEGO_CERT (IIS_MD_FILE_PROP_BASE+214 ) // Allow client SSL certs
  675. #define MD_VPROP_ACCESS_REQUIRE_CERT (IIS_MD_FILE_PROP_BASE+215 ) // Require client SSL certs
  676. #define MD_VPROP_ACCESS_MAP_CERT (IIS_MD_FILE_PROP_BASE+216 ) // Map SSL cert to NT account
  677. #define MD_VPROP_ACCESS_SSL128 (IIS_MD_FILE_PROP_BASE+217 ) // Require 128 bit SSL
  678. #define MD_VPROP_AUTH_ANONYMOUS (IIS_MD_FILE_PROP_BASE+218 )
  679. #define MD_VPROP_AUTH_BASIC (IIS_MD_FILE_PROP_BASE+219 )
  680. #define MD_VPROP_AUTH_NT (IIS_MD_FILE_PROP_BASE+220 ) // Use NT auth provider (like NTLM)
  681. #define MD_VPROP_AUTH_MD5 (IIS_MD_FILE_PROP_BASE+221 )
  682. #define MD_VPROP_AUTH_MAPBASIC (IIS_MD_FILE_PROP_BASE+222 )
  683. #define MD_VPROP_SERVER_CONFIG_SSL_40 (IIS_MD_FILE_PROP_BASE+223 )
  684. #define MD_VPROP_SERVER_CONFIG_SSL_128 (IIS_MD_FILE_PROP_BASE+224 )
  685. #define MD_VPROP_SERVER_CONFIG_ALLOW_ENCRYPT (IIS_MD_FILE_PROP_BASE+225 )
  686. #define MD_VPROP_SERVER_CONFIG_AUTO_PW_SYNC (IIS_MD_FILE_PROP_BASE+226 )
  687. #define MD_VPROP_ACCESS_NO_REMOTE_WRITE (IIS_MD_FILE_PROP_BASE+230 ) // Local host access only
  688. #define MD_VPROP_ACCESS_NO_REMOTE_READ (IIS_MD_FILE_PROP_BASE+231 ) // Local host access only
  689. #define MD_VPROP_ACCESS_NO_REMOTE_EXECUTE (IIS_MD_FILE_PROP_BASE+232 ) // Local host access only
  690. #define MD_VPROP_ACCESS_NO_REMOTE_SCRIPT (IIS_MD_FILE_PROP_BASE+233 ) // Local host access only
  691. #define MD_VPROP_EXTLOG_DATE (IIS_MD_FILE_PROP_BASE+234 )
  692. #define MD_VPROP_EXTLOG_TIME (IIS_MD_FILE_PROP_BASE+235 )
  693. #define MD_VPROP_EXTLOG_CLIENT_IP (IIS_MD_FILE_PROP_BASE+236 )
  694. #define MD_VPROP_EXTLOG_USERNAME (IIS_MD_FILE_PROP_BASE+237 )
  695. #define MD_VPROP_EXTLOG_SITE_NAME (IIS_MD_FILE_PROP_BASE+238 )
  696. #define MD_VPROP_EXTLOG_COMPUTER_NAME (IIS_MD_FILE_PROP_BASE+239 )
  697. #define MD_VPROP_EXTLOG_SERVER_IP (IIS_MD_FILE_PROP_BASE+240 )
  698. #define MD_VPROP_EXTLOG_METHOD (IIS_MD_FILE_PROP_BASE+241 )
  699. #define MD_VPROP_EXTLOG_URI_STEM (IIS_MD_FILE_PROP_BASE+242 )
  700. #define MD_VPROP_EXTLOG_URI_QUERY (IIS_MD_FILE_PROP_BASE+243 )
  701. #define MD_VPROP_EXTLOG_HTTP_STATUS (IIS_MD_FILE_PROP_BASE+244 )
  702. #define MD_VPROP_EXTLOG_WIN32_STATUS (IIS_MD_FILE_PROP_BASE+245 )
  703. #define MD_VPROP_EXTLOG_BYTES_SENT (IIS_MD_FILE_PROP_BASE+246 )
  704. #define MD_VPROP_EXTLOG_BYTES_RECV (IIS_MD_FILE_PROP_BASE+247 )
  705. #define MD_VPROP_EXTLOG_TIME_TAKEN (IIS_MD_FILE_PROP_BASE+248 )
  706. #define MD_VPROP_EXTLOG_SERVER_PORT (IIS_MD_FILE_PROP_BASE+249 )
  707. #define MD_VPROP_EXTLOG_USER_AGENT (IIS_MD_FILE_PROP_BASE+250 )
  708. #define MD_VPROP_EXTLOG_COOKIE (IIS_MD_FILE_PROP_BASE+251 )
  709. #define MD_VPROP_EXTLOG_REFERER (IIS_MD_FILE_PROP_BASE+252 )
  710. #define MD_VPROP_NOTIFY_SECURE_PORT (IIS_MD_FILE_PROP_BASE+253 )
  711. #define MD_VPROP_NOTIFY_NONSECURE_PORT (IIS_MD_FILE_PROP_BASE+254 )
  712. #define MD_VPROP_NOTIFY_READ_RAW_DATA (IIS_MD_FILE_PROP_BASE+255 )
  713. #define MD_VPROP_NOTIFY_PREPROC_HEADERS (IIS_MD_FILE_PROP_BASE+256 )
  714. #define MD_VPROP_NOTIFY_AUTHENTICATION (IIS_MD_FILE_PROP_BASE+257 )
  715. #define MD_VPROP_NOTIFY_URL_MAP (IIS_MD_FILE_PROP_BASE+258 )
  716. #define MD_VPROP_NOTIFY_ACCESS_DENIED (IIS_MD_FILE_PROP_BASE+259 )
  717. #define MD_VPROP_NOTIFY_SEND_RESPONSE (IIS_MD_FILE_PROP_BASE+260 )
  718. #define MD_VPROP_NOTIFY_SEND_RAW_DATA (IIS_MD_FILE_PROP_BASE+261 )
  719. #define MD_VPROP_NOTIFY_LOG (IIS_MD_FILE_PROP_BASE+262 )
  720. #define MD_VPROP_NOTIFY_END_OF_REQUEST (IIS_MD_FILE_PROP_BASE+263 )
  721. #define MD_VPROP_NOTIFY_END_OF_NET_SESSION (IIS_MD_FILE_PROP_BASE+264 )
  722. #define MD_VPROP_NOTIFY_ORDER_HIGH (IIS_MD_FILE_PROP_BASE+265 )
  723. #define MD_VPROP_NOTIFY_ORDER_MEDIUM (IIS_MD_FILE_PROP_BASE+266 )
  724. #define MD_VPROP_NOTIFY_ORDER_LOW (IIS_MD_FILE_PROP_BASE+267 )
  725. #define MD_VPROP_EXTLOG_PROTOCOL_VERSION (IIS_MD_FILE_PROP_BASE+268 )
  726. #define MD_ISM_ACCESS_CHECK (IIS_MD_FILE_PROP_BASE+269 )
  727. #define MD_VPROP_CPU_ENABLE_ALL_PROC_LOGGING (IIS_MD_FILE_PROP_BASE+270 )
  728. #define MD_VPROP_CPU_ENABLE_CGI_LOGGING (IIS_MD_FILE_PROP_BASE+271 )
  729. #define MD_VPROP_CPU_ENABLE_APP_LOGGING (IIS_MD_FILE_PROP_BASE+272 )
  730. #define MD_VPROP_CPU_ENABLE_EVENT (IIS_MD_FILE_PROP_BASE+273 )
  731. #define MD_VPROP_CPU_ENABLE_PROC_TYPE (IIS_MD_FILE_PROP_BASE+274 )
  732. #define MD_VPROP_CPU_ENABLE_USER_TIME (IIS_MD_FILE_PROP_BASE+275 )
  733. #define MD_VPROP_CPU_ENABLE_KERNEL_TIME (IIS_MD_FILE_PROP_BASE+276 )
  734. #define MD_VPROP_CPU_ENABLE_PAGE_FAULTS (IIS_MD_FILE_PROP_BASE+277 )
  735. #define MD_VPROP_CPU_ENABLE_TOTAL_PROCS (IIS_MD_FILE_PROP_BASE+278 )
  736. #define MD_VPROP_CPU_ENABLE_ACTIVE_PROCS (IIS_MD_FILE_PROP_BASE+279 )
  737. #define MD_VPROP_CPU_ENABLE_TERMINATED_PROCS (IIS_MD_FILE_PROP_BASE+280 )
  738. #define MD_VPROP_CPU_ENABLE_LOGGING (IIS_MD_FILE_PROP_BASE+281 )
  739. #define MD_VPROP_ACCESS_READ_SOURCE (IIS_MD_FILE_PROP_BASE+282 ) // part of MD_ACCESS_PERM bit
  740. #define MD_VPROP_AUTH_SINGLEREQUEST (IIS_MD_FILE_PROP_BASE+283 )
  741. #define MD_VPROP_AUTH_SINGLEREQUESTIFPROXY (IIS_MD_FILE_PROP_BASE+284 )
  742. #define MD_VPROP_AUTH_SINGLEREQUESTALWAYSIFPROXY (IIS_MD_FILE_PROP_BASE+285 )
  743. // For use to get the admin acl as raw binary
  744. #define MD_VPROP_ADMIN_ACL_RAW_BINARY (IIS_MD_FILE_PROP_BASE+286 )
  745. // missing for extlog property
  746. #define MD_VPROP_EXTLOG_HOST (IIS_MD_FILE_PROP_BASE+287 )
  747. // NNTP props
  748. #define MD_VPROP_NNTP_ALLOW_POSTING (IIS_MD_FILE_PROP_BASE+288)
  749. #define MD_VPROP_NNTP_RESTRICT_GROUP_VISIBILITY (IIS_MD_FILE_PROP_BASE+289)
  750. // missing for some filter flags
  751. #define MD_VPROP_NOTIFY_AUTH_COMPLETE (IIS_MD_FILE_PROP_BASE+290)
  752. #define MD_VPROP_NOTIFY_EXTENSION_TRIGGER (IIS_MD_FILE_PROP_BASE+291)
  753. // missing password change flags
  754. #define MD_VPROP_AUTH_CHANGE_UNSECURE (IIS_MD_FILE_PROP_BASE+292)
  755. #define MD_VPROP_AUTH_CHANGE_DISBALE (IIS_MD_FILE_PROP_BASE+293)
  756. #define MD_VPROP_AUTH_ADV_NOTIFY_DISABLE (IIS_MD_FILE_PROP_BASE+294)
  757. #define MD_VPROP_CERT_NO_REVOC_CHECK (IIS_MD_FILE_PROP_BASE+295)
  758. #define MD_VPROP_CERT_CACHE_RETRIEVAL_ONLY (IIS_MD_FILE_PROP_BASE+296)
  759. #define MD_VPROP_CERT_CHECK_REVOCATION_FRESHNESS_TIME (IIS_MD_FILE_PROP_BASE+297)
  760. #define MD_VPROP_CERT_NO_USAGE_CHECK (IIS_MD_FILE_PROP_BASE+298)
  761. //
  762. // The following properties are used for ADSI schema only
  763. //
  764. #define MD_SCHEMA_CLASS_CONTAINMENT (IIS_MD_FILE_PROP_BASE+350 )
  765. #define MD_SCHEMA_CLASS_CONTAINER (IIS_MD_FILE_PROP_BASE+351 )
  766. #define MD_SCHEMA_CLASS_CLSID (IIS_MD_FILE_PROP_BASE+352 )
  767. #define MD_SCHEMA_CLASS_OID (IIS_MD_FILE_PROP_BASE+353 )
  768. #define MD_SCHEMA_CLASS_PRIMARY_INTERFACE (IIS_MD_FILE_PROP_BASE+354 )
  769. #define MD_SCHEMA_CLASS_OPT_PROPERTIES (IIS_MD_FILE_PROP_BASE+355 )
  770. #define MD_SCHEMA_CLASS_MAND_PROPERTIES (IIS_MD_FILE_PROP_BASE+356 )
  771. ;end_internal
  772. #define ASP_MD_SERVER_BASE 7000
  773. #define MD_ASP_BUFFERINGON (ASP_MD_SERVER_BASE + 0)
  774. #define MD_ASP_LOGERRORREQUESTS (ASP_MD_SERVER_BASE + 1)
  775. #define MD_ASP_SCRIPTERRORSSENTTOBROWSER (ASP_MD_SERVER_BASE + 2)
  776. #define MD_ASP_SCRIPTERRORMESSAGE (ASP_MD_SERVER_BASE + 3)
  777. #define MD_ASP_SCRIPTFILECACHESIZE (ASP_MD_SERVER_BASE + 4)
  778. #define MD_ASP_SCRIPTENGINECACHEMAX (ASP_MD_SERVER_BASE + 5)
  779. #define MD_ASP_SCRIPTTIMEOUT (ASP_MD_SERVER_BASE + 6)
  780. #define MD_ASP_SESSIONTIMEOUT (ASP_MD_SERVER_BASE + 7)
  781. #define MD_ASP_ENABLEPARENTPATHS (ASP_MD_SERVER_BASE + 8)
  782. #define MD_ASP_MEMFREEFACTOR (ASP_MD_SERVER_BASE + 9) // OBSOLETE
  783. #define MD_ASP_MINUSEDBLOCKS (ASP_MD_SERVER_BASE + 10) // OBSOLETE
  784. #define MD_ASP_ALLOWSESSIONSTATE (ASP_MD_SERVER_BASE + 11)
  785. #define MD_ASP_SCRIPTLANGUAGE (ASP_MD_SERVER_BASE + 12)
  786. #define MD_ASP_QUEUETIMEOUT (ASP_MD_SERVER_BASE + 13)
  787. #define MD_ASP_ALLOWOUTOFPROCCOMPONENTS (ASP_MD_SERVER_BASE + 14)
  788. #define MD_ASP_ALLOWOUTOFPROCCMPNTS (MD_ASP_ALLOWOUTOFPROCCOMPONENTS) // Deprecated. Use MD_ASP_ALLOWOUTOFPROCCMPNTS
  789. #define MD_ASP_EXCEPTIONCATCHENABLE (ASP_MD_SERVER_BASE + 15)
  790. #define MD_ASP_CODEPAGE (ASP_MD_SERVER_BASE + 16)
  791. #define MD_ASP_SCRIPTLANGUAGELIST (ASP_MD_SERVER_BASE + 17)
  792. #define MD_ASP_ENABLESERVERDEBUG (ASP_MD_SERVER_BASE + 18)
  793. #define MD_ASP_ENABLECLIENTDEBUG (ASP_MD_SERVER_BASE + 19)
  794. #define MD_ASP_TRACKTHREADINGMODEL (ASP_MD_SERVER_BASE + 20)
  795. // added for IIS 5.0
  796. #define MD_ASP_ENABLEASPHTMLFALLBACK (ASP_MD_SERVER_BASE + 21)
  797. #define MD_ASP_ENABLECHUNKEDENCODING (ASP_MD_SERVER_BASE + 22)
  798. #define MD_ASP_ENABLETYPELIBCACHE (ASP_MD_SERVER_BASE + 23)
  799. #define MD_ASP_ERRORSTONTLOG (ASP_MD_SERVER_BASE + 24)
  800. #define MD_ASP_PROCESSORTHREADMAX (ASP_MD_SERVER_BASE + 25)
  801. #define MD_ASP_REQEUSTQUEUEMAX (ASP_MD_SERVER_BASE + 26)
  802. #define MD_ASP_ENABLEAPPLICATIONRESTART (ASP_MD_SERVER_BASE + 27)
  803. #define MD_ASP_QUEUECONNECTIONTESTTIME (ASP_MD_SERVER_BASE + 28)
  804. #define MD_ASP_SESSIONMAX (ASP_MD_SERVER_BASE + 29)
  805. // thread gate
  806. #define MD_ASP_THREADGATEENABLED (ASP_MD_SERVER_BASE + 30)
  807. #define MD_ASP_THREADGATETIMESLICE (ASP_MD_SERVER_BASE + 31)
  808. #define MD_ASP_THREADGATESLEEPDELAY (ASP_MD_SERVER_BASE + 32)
  809. #define MD_ASP_THREADGATESLEEPMAX (ASP_MD_SERVER_BASE + 33)
  810. #define MD_ASP_THREADGATELOADLOW (ASP_MD_SERVER_BASE + 34)
  811. #define MD_ASP_THREADGATELOADHIGH (ASP_MD_SERVER_BASE + 35)
  812. // added IIS5.1
  813. // persist template cache
  814. #define MD_ASP_DISKTEMPLATECACHEDIRECTORY (ASP_MD_SERVER_BASE + 36)
  815. #define MD_ASP_MAXDISKTEMPLATECACHEFILES (ASP_MD_SERVER_BASE + 40)
  816. #define MD_ASP_EXECUTEINMTA (ASP_MD_SERVER_BASE + 41)
  817. #define MD_ASP_LCID (ASP_MD_SERVER_BASE + 42)
  818. #define MD_ASP_KEEPSESSIONIDSECURE (ASP_MD_SERVER_BASE + 43)
  819. // added IIS6.0
  820. // Services without components integration
  821. #define MD_ASP_SERVICE_FLAGS (ASP_MD_SERVER_BASE + 44)
  822. #define MD_ASP_SERVICE_FLAG_TRACKER (ASP_MD_SERVER_BASE + 45)
  823. #define MD_ASP_SERVICE_FLAG_FUSION (ASP_MD_SERVER_BASE + 46)
  824. #define MD_ASP_SERVICE_FLAG_PARTITIONS (ASP_MD_SERVER_BASE + 47)
  825. #define MD_ASP_SERVICE_PARTITION_ID (ASP_MD_SERVER_BASE + 48)
  826. #define MD_ASP_SERVICE_SXS_NAME (ASP_MD_SERVER_BASE + 49)
  827. #define MD_ASP_ID_LAST (ASP_MD_SERVER_BASE + 49)
  828. //
  829. // Valid values for WAM
  830. //
  831. #define WAM_MD_SERVER_BASE 7500
  832. #define MD_WAM_USER_NAME (WAM_MD_SERVER_BASE+1)
  833. #define MD_WAM_PWD (WAM_MD_SERVER_BASE+2)
  834. // added IIS6
  835. //
  836. // Valid values for APP POOL
  837. //
  838. #define IIS_MD_APPPOOL_BASE 9000
  839. #define MD_APPPOOL_PERIODIC_RESTART_TIME (IIS_MD_APPPOOL_BASE + 1)
  840. #define MD_APPPOOL_PERIODIC_RESTART_REQUEST_COUNT (IIS_MD_APPPOOL_BASE + 2)
  841. #define MD_APPPOOL_MAX_PROCESS_COUNT (IIS_MD_APPPOOL_BASE + 3)
  842. #define MD_APPPOOL_PINGING_ENABLED (IIS_MD_APPPOOL_BASE + 4)
  843. #define MD_APPPOOL_IDLE_TIMEOUT (IIS_MD_APPPOOL_BASE + 5)
  844. #define MD_APPPOOL_RAPID_FAIL_PROTECTION_ENABLED (IIS_MD_APPPOOL_BASE + 6)
  845. #define MD_APPPOOL_SMP_AFFINITIZED (IIS_MD_APPPOOL_BASE + 7)
  846. #define MD_APPPOOL_SMP_AFFINITIZED_PROCESSOR_MASK (IIS_MD_APPPOOL_BASE + 8)
  847. #define MD_APPPOOL_ORPHAN_PROCESSES_FOR_DEBUGGING (IIS_MD_APPPOOL_BASE + 9)
  848. #define MD_APPPOOL_RUN_AS_LOCALSYSTEM (IIS_MD_APPPOOL_BASE + 10)
  849. #define MD_APPPOOL_STARTUP_TIMELIMIT (IIS_MD_APPPOOL_BASE + 11)
  850. #define MD_APPPOOL_SHUTDOWN_TIMELIMIT (IIS_MD_APPPOOL_BASE + 12)
  851. #define MD_APPPOOL_PING_INTERVAL (IIS_MD_APPPOOL_BASE + 13)
  852. #define MD_APPPOOL_PING_RESPONSE_TIMELIMIT (IIS_MD_APPPOOL_BASE + 14)
  853. #define MD_APPPOOL_DISALLOW_OVERLAPPING_ROTATION (IIS_MD_APPPOOL_BASE + 15)
  854. #define MD_APPPOOL_ORPHAN_ACTION (IIS_MD_APPPOOL_BASE + 16)
  855. #define MD_APPPOOL_UL_APPPOOL_QUEUE_LENGTH (IIS_MD_APPPOOL_BASE + 17)
  856. #define MD_APPPOOL_DISALLOW_ROTATION_ON_CONFIG_CHANGE (IIS_MD_APPPOOL_BASE + 18)
  857. #define MD_APPPOOL_FRIENDLY_NAME (IIS_MD_APPPOOL_BASE + 19)
  858. #define MD_APPPOOL_PERIODIC_RESTART_SCHEDULE (IIS_MD_APPPOOL_BASE + 20)
  859. #define MD_APPPOOL_IDENTITY_TYPE (IIS_MD_APPPOOL_BASE + 21)
  860. #define MD_CPU_ACTION (IIS_MD_APPPOOL_BASE + 22)
  861. #define MD_CPU_LIMIT (IIS_MD_APPPOOL_BASE + 23)
  862. #define MD_APPPOOL_PERIODIC_RESTART_MEMORY (IIS_MD_APPPOOL_BASE + 24)
  863. #define MD_DISABLE_PUBLISHING (IIS_MD_APPPOOL_BASE + 25)
  864. #define MD_APPPOOL_COMMAND (IIS_MD_APPPOOL_BASE + 26)
  865. #define MD_APPPOOL_STATE (IIS_MD_APPPOOL_BASE + 27)
  866. #define MD_APPPOOL_AUTO_START (IIS_MD_APPPOOL_BASE + 28)
  867. #define MD_RAPID_FAIL_PROTECTION_INTERVAL (IIS_MD_APPPOOL_BASE + 29)
  868. #define MD_RAPID_FAIL_PROTECTION_MAX_CRASHES (IIS_MD_APPPOOL_BASE + 30)
  869. #define MD_APPPOOL_ORPHAN_ACTION_EXE (IIS_MD_APPPOOL_BASE + 31)
  870. #define MD_APPPOOL_ORPHAN_ACTION_PARAMS (IIS_MD_APPPOOL_BASE + 32)
  871. //
  872. // Valid values for MD_CPU_ACTION
  873. //
  874. #define MD_CPU_NO_ACTION 0
  875. #define MD_CPU_KILL_W3WP 1
  876. #define MD_CPU_TRACE 2
  877. #define MD_CPU_THROTTLE 3
  878. //
  879. // Valid values for MD_APPPOOL_COMMAND
  880. //
  881. #define MD_APPPOOL_COMMAND_START 1
  882. #define MD_APPPOOL_COMMAND_STOP 2
  883. //
  884. // Valid values for MD_APPPOOL_STATE
  885. //
  886. #define MD_APPPOOL_STATE_STARTING 1
  887. #define MD_APPPOOL_STATE_STARTED 2
  888. #define MD_APPPOOL_STATE_STOPPING 3
  889. #define MD_APPPOOL_STATE_STOPPED 4
  890. //
  891. // Valid values for MD_APPPOOL_STATE
  892. //
  893. #define IIS_MD_APP_BASE 9100
  894. #define MD_APP_APPPOOL_ID (IIS_MD_APP_BASE+1)
  895. #define MD_APP_ALLOW_TRANSIENT_REGISTRATION (IIS_MD_APP_BASE+2)
  896. #define MD_APP_AUTO_START (IIS_MD_APP_BASE+3)
  897. #define MD_APPPOOL_PERIODIC_RESTART_CONNECTIONS (IIS_MD_APP_BASE+4)
  898. //
  899. // TODO: These are duplicate definitions. Remove them if no one is using it.
  900. //
  901. #define MD_APPPOOL_APPPOOL_ID (IIS_MD_APP_BASE + 101)
  902. #define MD_APPPOOL_ALLOW_TRANSIENT_REGISTRATION (IIS_MD_APP_BASE + 102)
  903. // commented out so we can build
  904. //#define MD_APPPOOL_AUTO_START (IIS_MD_APP_BASE + 103)
  905. #define IIS_MD_GLOBAL_BASE 9200
  906. #define MD_MAX_GLOBAL_BANDWIDTH (IIS_MD_GLOBAL_BASE+1)
  907. #define MD_MAX_GLOBAL_CONNECTIONS (IIS_MD_GLOBAL_BASE+2)
  908. #define MD_GLOBAL_STANDARD_APP_MODE_ENABLED (IIS_MD_GLOBAL_BASE+3)
  909. #define MD_HEADER_WAIT_TIMEOUT (IIS_MD_GLOBAL_BASE+4)
  910. #define MD_MIN_FILE_KB_SEC (IIS_MD_GLOBAL_BASE+5)
  911. #define MD_GLOBAL_LOG_IN_UTF_8 (IIS_MD_GLOBAL_BASE+6)
  912. #define MD_GLOBAL_SESSIONKEY 9999
  913. #define MD_ROOT_ENABLE_EDIT_WHILE_RUNNING 9998
  914. #define MD_GLOBAL_CHANGE_NUMBER 9997
  915. #define MD_ROOT_ENABLE_HISTORY 9996
  916. #define MD_ROOT_MAX_HISTORY_FILES 9995
  917. #define MD_GLOBAL_EDIT_WHILE_RUNNING_MAJOR_VERSION_NUMBER 9994
  918. #define MD_GLOBAL_EDIT_WHILE_RUNNING_MINOR_VERSION_NUMBER 9993
  919. #define MD_GLOBAL_XMLSCHEMATIMESTAMP 9992
  920. #define MD_GLOBAL_BINSCHEMATIMESTAMP 9991
  921. #define MD_COMMENTS 9990
  922. #define MD_LOCATION 9989
  923. #define MD_MAX_ERROR_FILES 9988
  924. #define MD_STOP_LISTENING 9987
  925. //
  926. // Valid values for MD_AUTHORIZATION
  927. //
  928. #define MD_AUTH_ANONYMOUS 0x00000001
  929. #define MD_AUTH_BASIC 0x00000002
  930. #define MD_AUTH_NT 0x00000004 // Use NT auth provider (like NTLM)
  931. ;begin_internal
  932. #define MD_AUTH_MD5 0x00000010
  933. #define MD_AUTH_MAPBASIC 0x00000020
  934. ;end_internal
  935. //
  936. // Valid values for MD_AUTHORIZATION_PERSISTENCE
  937. //
  938. #define MD_AUTH_SINGLEREQUEST 0x00000040
  939. #define MD_AUTH_SINGLEREQUESTIFPROXY 0x00000080
  940. #define MD_AUTH_SINGLEREQUESTALWAYSIFPROXY 0x00000100
  941. //
  942. // Valid values for MD_ACCESS_PERM
  943. //
  944. #define MD_ACCESS_READ 0x00000001 // Allow for Read
  945. #define MD_ACCESS_WRITE 0x00000002 // Allow for Write
  946. #define MD_ACCESS_EXECUTE 0x00000004 // Allow for Execute
  947. #define MD_ACCESS_SOURCE 0x00000010 // Apply access mask to source
  948. #define MD_ACCESS_SCRIPT 0x00000200 // Allow for Script execution
  949. #define MD_ACCESS_NO_REMOTE_WRITE 0x00000400 // Local host access only
  950. #define MD_ACCESS_NO_REMOTE_READ 0x00001000 // Local host access only
  951. #define MD_ACCESS_NO_REMOTE_EXECUTE 0x00002000 // Local host access only
  952. #define MD_ACCESS_NO_REMOTE_SCRIPT 0x00004000 // Local host access only
  953. #define MD_NONSLL_ACCESS_MASK (MD_ACCESS_READ| \
  954. MD_ACCESS_WRITE| \
  955. MD_ACCESS_EXECUTE| \
  956. MD_ACCESS_SOURCE| \
  957. MD_ACCESS_SCRIPT| \
  958. MD_ACCESS_NO_REMOTE_READ| \
  959. MD_ACCESS_NO_REMOTE_WRITE| \
  960. MD_ACCESS_NO_REMOTE_EXECUTE| \
  961. MD_ACCESS_NO_REMOTE_SCRIPT \
  962. )
  963. //
  964. // Valid values for MD_SSL_ACCESS_PERM
  965. //
  966. #define MD_ACCESS_SSL 0x00000008 // Require SSL
  967. #define MD_ACCESS_NEGO_CERT 0x00000020 // Allow client SSL certs
  968. #define MD_ACCESS_REQUIRE_CERT 0x00000040 // Require client SSL certs
  969. #define MD_ACCESS_MAP_CERT 0x00000080 // Map SSL cert to NT account
  970. #define MD_ACCESS_SSL128 0x00000100 // Require 128 bit SSL
  971. #define MD_SSL_ACCESS_MASK (MD_ACCESS_SSL|\
  972. MD_ACCESS_NEGO_CERT|\
  973. MD_ACCESS_REQUIRE_CERT|\
  974. MD_ACCESS_MAP_CERT|\
  975. MD_ACCESS_SSL128)
  976. #define MD_ACCESS_MASK 0x00007fff
  977. //
  978. // Valid values for MD_DIRECTORY_BROWSING
  979. //
  980. #define MD_DIRBROW_SHOW_DATE 0x00000002
  981. #define MD_DIRBROW_SHOW_TIME 0x00000004
  982. #define MD_DIRBROW_SHOW_SIZE 0x00000008
  983. #define MD_DIRBROW_SHOW_EXTENSION 0x00000010
  984. #define MD_DIRBROW_LONG_DATE 0x00000020
  985. #define MD_DIRBROW_ENABLED 0x80000000 // Allow directory browsing
  986. #define MD_DIRBROW_LOADDEFAULT 0x40000000 // Load default doc if exists
  987. #define MD_DIRBROW_MASK (MD_DIRBROW_SHOW_DATE | \
  988. MD_DIRBROW_SHOW_TIME | \
  989. MD_DIRBROW_SHOW_SIZE | \
  990. MD_DIRBROW_SHOW_EXTENSION | \
  991. MD_DIRBROW_LONG_DATE | \
  992. MD_DIRBROW_LOADDEFAULT | \
  993. MD_DIRBROW_ENABLED)
  994. //
  995. // Valid values for MD_LOGON_METHOD
  996. //
  997. #define MD_LOGON_INTERACTIVE 0
  998. #define MD_LOGON_BATCH 1
  999. #define MD_LOGON_NETWORK 2
  1000. #define MD_LOGON_NETWORK_CLEARTEXT 3
  1001. //
  1002. // Valid values for MD_NOTIFY_EXAUTH
  1003. //
  1004. #define MD_NOTIFEXAUTH_NTLMSSL 1
  1005. //
  1006. // Valid values for MD_FILTER_STATE
  1007. //
  1008. #define MD_FILTER_STATE_LOADED 1
  1009. #define MD_FILTER_STATE_UNLOADED 4
  1010. //
  1011. // Valid values for MD_SERVER_STATE
  1012. //
  1013. #define MD_SERVER_STATE_STARTING 1
  1014. #define MD_SERVER_STATE_STARTED 2
  1015. #define MD_SERVER_STATE_STOPPING 3
  1016. #define MD_SERVER_STATE_STOPPED 4
  1017. #define MD_SERVER_STATE_PAUSING 5
  1018. #define MD_SERVER_STATE_PAUSED 6
  1019. #define MD_SERVER_STATE_CONTINUING 7
  1020. #define MD_SERVER_STATE_INVALID ((DWORD)(-1L)) ;internal
  1021. //
  1022. // Valid values for MD_SERVER_COMMAND
  1023. //
  1024. #define MD_SERVER_COMMAND_START 1
  1025. #define MD_SERVER_COMMAND_STOP 2
  1026. #define MD_SERVER_COMMAND_PAUSE 3
  1027. #define MD_SERVER_COMMAND_CONTINUE 4
  1028. //
  1029. // Valid values for MD_SERVER_SIZE
  1030. //
  1031. #define MD_SERVER_SIZE_SMALL 0
  1032. #define MD_SERVER_SIZE_MEDIUM 1
  1033. #define MD_SERVER_SIZE_LARGE 2
  1034. //
  1035. // Valid values for MD_SERVER_CONFIG_INFO
  1036. //
  1037. #define MD_SERVER_CONFIG_SSL_40 0x00000001
  1038. #define MD_SERVER_CONFIG_SSL_128 0x00000002
  1039. #define MD_SERVER_CONFIG_ALLOW_ENCRYPT 0x00000004
  1040. #define MD_SERVER_CONFIG_AUTO_PW_SYNC 0x00000008
  1041. #define MD_SERVER_CONFIGURATION_MASK (MD_SERVER_CONFIG_SSL_40 | \
  1042. MD_SERVER_CONFIG_SSL_128 | \
  1043. MD_SERVER_CONFIG_ENCRYPT | \
  1044. MD_SERVER_CONFIG_AUTO_PW_SYNC)
  1045. //
  1046. // Valid values for MD_SCRIPT_MAPS flag field
  1047. //
  1048. #define MD_SCRIPTMAPFLAG_SCRIPT 0x00000001
  1049. #define MD_SCRIPTMAPFLAG_CHECK_PATH_INFO 0x00000004
  1050. #ifdef REMOVE // SteveBr
  1051. //
  1052. // Bogus value - do not use
  1053. //
  1054. #define MD_SCRIPTMAPFLAG_ALLOWED_ON_READ_DIR 0x00000001
  1055. #endif // REMOVE
  1056. ;begin_internal
  1057. // NOTE: This value is reserved for internal use by the server,
  1058. // and cannot be set in the metabase.
  1059. #define MD_SCRIPTMAPFLAG_WILDCARD 0x80000000
  1060. #ifdef REMOVE // SteveBr
  1061. //
  1062. // This flag gets ORed in by the server for *all* script maps - i.e., if an
  1063. // entry is in the script map list, then it will never be allowed to be sent.
  1064. // We leave the flag but make it private in case we decide to expose this
  1065. // functionality
  1066. //
  1067. #define MD_SCRIPTMAPFLAG_NOTRANSMIT_ON_READ_DIR 0x00000002
  1068. #endif // REMOVE
  1069. //
  1070. // Valid values for MD_CAL_MODE
  1071. //
  1072. #define MD_CAL_MODE_NONE 0
  1073. #define MD_CAL_MODE_HTTPERR 1
  1074. #define MD_CAL_MODE_LOGCOUNT 2
  1075. ;end_internal
  1076. //
  1077. // Valid values for MD_AUTH_CHANGE_ENABLE
  1078. //
  1079. #define MD_AUTH_CHANGE_UNSECURE 0x00000001
  1080. #define MD_AUTH_CHANGE_DISABLE 0x00000002
  1081. #define MD_AUTH_ADVNOTIFY_DISABLE 0x00000004
  1082. //
  1083. // Valid values for MD_NET_LOGON_WKS
  1084. //
  1085. #define MD_NETLOGON_WKS_NONE 0
  1086. #define MD_NETLOGON_WKS_IP 1
  1087. #define MD_NETLOGON_WKS_DNS 2
  1088. //
  1089. // Valide substatus errors for MD_CUSTOM_ERROR
  1090. //
  1091. #define MD_ERROR_SUB401_LOGON 1
  1092. #define MD_ERROR_SUB401_LOGON_CONFIG 2
  1093. #define MD_ERROR_SUB401_LOGON_ACL 3
  1094. #define MD_ERROR_SUB401_FILTER 4
  1095. #define MD_ERROR_SUB401_APPLICATION 5
  1096. #define MD_ERROR_SUB403_EXECUTE_ACCESS_DENIED 1
  1097. #define MD_ERROR_SUB403_READ_ACCESS_DENIED 2
  1098. #define MD_ERROR_SUB403_WRITE_ACCESS_DENIED 3
  1099. #define MD_ERROR_SUB403_SSL_REQUIRED 4
  1100. #define MD_ERROR_SUB403_SSL128_REQUIRED 5
  1101. #define MD_ERROR_SUB403_ADDR_REJECT 6
  1102. #define MD_ERROR_SUB403_CERT_REQUIRED 7
  1103. #define MD_ERROR_SUB403_SITE_ACCESS_DENIED 8
  1104. #define MD_ERROR_SUB403_TOO_MANY_USERS 9
  1105. #define MD_ERROR_SUB403_INVALID_CNFG 10
  1106. #define MD_ERROR_SUB403_PWD_CHANGE 11
  1107. #define MD_ERROR_SUB403_MAPPER_DENY_ACCESS 12
  1108. #define MD_ERROR_SUB403_CERT_REVOKED 13
  1109. #define MD_ERROR_SUB403_DIR_LIST_DENIED 14
  1110. #define MD_ERROR_SUB403_CAL_EXCEEDED 15
  1111. #define MD_ERROR_SUB403_CERT_BAD 16
  1112. #define MD_ERROR_SUB403_CERT_TIME_INVALID 17
  1113. #define MD_ERROR_SUB404_SITE_NOT_FOUND 1
  1114. #define MD_ERROR_SUB502_TIMEOUT 1
  1115. #define MD_ERROR_SUB502_PREMATURE_EXIT 2
  1116. #define MD_ERROR_SUB503_CPU_LIMIT 1
  1117. //
  1118. // Valid access rights for ACE entries in MD_ADMIN_ACL
  1119. //
  1120. #define MD_ACR_READ 0x00000001
  1121. #define MD_ACR_WRITE 0x00000002
  1122. #define MD_ACR_RESTRICTED_WRITE 0x00000020
  1123. #define MD_ACR_UNSECURE_PROPS_READ 0x00000080
  1124. #define MD_ACR_ENUM_KEYS 0x00000008
  1125. #define MD_ACR_WRITE_DAC 0x00040000
  1126. //
  1127. // MD_IP_SEC binary format description
  1128. //
  1129. /*
  1130. This object is composed of 4 lists : 2 lists ( deny & grant ) of network addresses,
  1131. the only allowed family is AF_INET.
  1132. Each of this list is composed of sublists, one for each ( network address family,
  1133. significant subnet mask ) combination. The significant subnet mask is stored as
  1134. ( number of bytes all 1 ( 0xff ), bitmask in last byte ).
  1135. This is followed by 2 lists ( deny & grant ) of DNS names. Each of these lists is
  1136. composed of sublists, based on then number of components in the DNS name
  1137. e.g. "microsoft.com" has 2 components, "www.msft.com" has 3.
  1138. Header:
  1139. SELFREFINDEX iDenyAddr; // address deny list
  1140. // points to ADDRESS_HEADER
  1141. SELFREFINDEX iGrantAddr; // address grant list
  1142. // points to ADDRESS_HEADER
  1143. SELFREFINDEX iDenyName; // DNS name deny list
  1144. // points to NAME_HEADER
  1145. SELFREFINDEX iGrantName; // DNS name grant list
  1146. // points to NAME_HEADER
  1147. DWORD dwFlags;
  1148. DWORD cRefSize; // size of reference area ( in bytes )
  1149. ADDRESS_HEADER :
  1150. DWORD cEntries; // # of Entries[]
  1151. DWORD cAddresses; // total # of addresses in all
  1152. // ADDRESS_LIST_ENTRY
  1153. ADDRESS_LIST_ENTRY Entries[];
  1154. ADDRESS_LIST_ENTRY :
  1155. DWORD iFamily;
  1156. DWORD cAddresses;
  1157. DWORD cFullBytes;
  1158. DWORD LastByte;
  1159. SELFREFINDEX iFirstAddress; // points to array of addresses
  1160. NAME_HEADER :
  1161. DWORD cEntries;
  1162. DWORD cNames; // total # of names for all Entries[]
  1163. NAME_LIST_ENTRY Entries[];
  1164. Name list entry :
  1165. DWORD cComponents; // # of DNS components
  1166. DWORD cNames;
  1167. SELFREFINDEX iName[]; // array of references to DNS names
  1168. This is followed by address arrays & names pointed to by iFirstAddress & iName
  1169. Names are '\0' delimited
  1170. SELFREFINDEX is a DWORD offset from start of structure with high bit set to 1
  1171. */
  1172. //
  1173. // Macros
  1174. //
  1175. #define MD_SET_DATA_RECORD(_pMDR, _id, _attr, _utype, _dtype, _dlen, _pData) \
  1176. { \
  1177. (_pMDR)->dwMDIdentifier=(_id); \
  1178. (_pMDR)->dwMDAttributes=(_attr); \
  1179. (_pMDR)->dwMDUserType=(_utype); \
  1180. (_pMDR)->dwMDDataType=(_dtype); \
  1181. (_pMDR)->dwMDDataLen=(_dlen); \
  1182. (_pMDR)->pbMDData=(LPBYTE)(_pData); \
  1183. }
  1184. //
  1185. // IIS ADSI Admin Object class names
  1186. //
  1187. #define IIS_CLASS_COMPUTER "IIsComputer"
  1188. #define IIS_CLASS_WEB_SERVICE "IIsWebService"
  1189. #define IIS_CLASS_WEB_SERVER "IIsWebServer"
  1190. #define IIS_CLASS_WEB_INFO "IIsWebInfo"
  1191. #define IIS_CLASS_WEB_DIR "IIsWebDirectory"
  1192. #define IIS_CLASS_WEB_VDIR "IIsWebVirtualDir"
  1193. #define IIS_CLASS_WEB_FILE "IIsWebFile"
  1194. #define IIS_CLASS_FTP_SERVICE "IIsFtpService"
  1195. #define IIS_CLASS_FTP_SERVER "IIsFtpServer"
  1196. #define IIS_CLASS_FTP_INFO "IIsFtpInfo"
  1197. #define IIS_CLASS_FTP_VDIR "IIsFtpVirtualDir"
  1198. #define IIS_CLASS_FILTERS "IIsFilters"
  1199. #define IIS_CLASS_FILTER "IIsFilter"
  1200. #define IIS_CLASS_LOG_MODULES "IIsLogModules"
  1201. #define IIS_CLASS_LOG_MODULE "IIsLogModule"
  1202. #define IIS_CLASS_MIMEMAP "IIsMimeMap"
  1203. #define IIS_CLASS_CERTMAPPER "IIsCertMapper"
  1204. #define IIS_CLASS_COMPRESS_SCHEMES "IIsCompressionSchemes"
  1205. #define IIS_CLASS_COMPRESS_SCHEME "IIsCompressionScheme"
  1206. #define IIS_CLASS_COMPUTER_W L"IIsComputer"
  1207. #define IIS_CLASS_WEB_SERVICE_W L"IIsWebService"
  1208. #define IIS_CLASS_WEB_SERVER_W L"IIsWebServer"
  1209. #define IIS_CLASS_WEB_INFO_W L"IIsWebInfo"
  1210. #define IIS_CLASS_WEB_DIR_W L"IIsWebDirectory"
  1211. #define IIS_CLASS_WEB_VDIR_W L"IIsWebVirtualDir"
  1212. #define IIS_CLASS_WEB_FILE_W L"IIsWebFile"
  1213. #define IIS_CLASS_FTP_SERVICE_W L"IIsFtpService"
  1214. #define IIS_CLASS_FTP_SERVER_W L"IIsFtpServer"
  1215. #define IIS_CLASS_FTP_INFO_W L"IIsFtpInfo"
  1216. #define IIS_CLASS_FTP_VDIR_W L"IIsFtpVirtualDir"
  1217. #define IIS_CLASS_FILTERS_W L"IIsFilters"
  1218. #define IIS_CLASS_FILTER_W L"IIsFilter"
  1219. #define IIS_CLASS_LOG_MODULES_W L"IIsLogModules"
  1220. #define IIS_CLASS_LOG_MODULE_W L"IIsLogModule"
  1221. #define IIS_CLASS_MIMEMAP_W L"IIsMimeMap"
  1222. #define IIS_CLASS_CERTMAPPER_W L"IIsCertMapper"
  1223. #define IIS_CLASS_COMPRESS_SCHEMES_W L"IIsCompressionSchemes"
  1224. #define IIS_CLASS_COMPRESS_SCHEME_W L"IIsCompressionScheme"
  1225. #endif // _IISCNFG_H_
  1226. ;begin_internal
  1227. #endif // _IISCNFGP_H_
  1228. ;end_internal