IIScnfg.h 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139
  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. //
  13. // Paths
  14. //
  15. #define IIS_MD_LOCAL_MACHINE_PATH "LM"
  16. //
  17. // Name of the default publishing root under an instance
  18. //
  19. #define IIS_MD_INSTANCE_ROOT "Root"
  20. //
  21. // ISAPI Filters are kept in a list under the instances and the service (for
  22. // global filters) in the following format:
  23. //
  24. // LM/W3Svc/<Instance>/Filters
  25. // MD_FILTER_LOAD_ORDER "Filter1, Filter2, Filter3"
  26. //
  27. // LM/W3Svc/<Instance>/Filters/Filter1
  28. // MD_FILTER_IMAGE_PATH "d:\inetsrv\myfilter.dll"
  29. //
  30. // LM/W3Svc/<Instance>/Filters/Filter2
  31. // MD_FILTER_IMAGE_PATH "d:\inetsrv\otherfilter.dll"
  32. //
  33. #define IIS_MD_ISAPI_FILTERS "/Filters"
  34. //
  35. // Path below each service to the key that publishes service information
  36. //
  37. #define IIS_MD_SVC_INFO_PATH "Info"
  38. //
  39. // ADSI schema properties path
  40. //
  41. #define IIS_MD_ADSI_SCHEMA_PATH_A "/Schema"
  42. #define IIS_MD_ADSI_SCHEMA_PATH_W L"/Schema"
  43. #define IIS_MD_ADSI_METAID_BEGIN 130000
  44. //
  45. // user types
  46. //
  47. // There are two user types:
  48. //
  49. // Server configuration - All the properties for configuring the server that
  50. // are not applicable to files and directories - such as Port, Host name,
  51. // Server comment, Connection timeout etc.
  52. //
  53. // File/Dir configuration - All the properties that can be configured down to
  54. // the files and directories - such as Access permissions (Read, Write etc),
  55. // Extension mapping, IP Security etc.
  56. //
  57. #define IIS_MD_UT_SERVER 1 // Server configuration parameters
  58. #define IIS_MD_UT_FILE 2 // File/Dir inheritable properties
  59. #define IIS_MD_UT_WAM 100 // Web Application configuration parameters
  60. #define ASP_MD_UT_APP 101 // ASP application configuration parameters
  61. #define IIS_MD_UT_END_RESERVED 2000 // All user types below this are
  62. // reserved for IIS services
  63. //
  64. // Metabase property IDs must be unique. This table defines reserved ranges
  65. //
  66. #define IIS_MD_ID_BEGIN_RESERVED 0x00000001 // IIS reserved range
  67. #define IIS_MD_ID_END_RESERVED 0x00007fff
  68. #define ASP_MD_ID_BEGIN_RESERVED 0x00007000 // ASP reserved range, subrange of IIS.
  69. #define ASP_MD_ID_END_RESERVED 0x000074ff
  70. #define WAM_MD_ID_BEGIN_RESERVED 0x00007500 // ASP reserved range, subrange of IIS.
  71. #define WAM_MD_ID_END_RESERVED 0x00007fff
  72. #define FP_MD_ID_BEGIN_RESERVED 0x00008000 // Front page reserved range
  73. #define FP_MD_ID_END_RESERVED 0x00008fff
  74. #define SMTP_MD_ID_BEGIN_RESERVED 0x00009000
  75. #define SMTP_MD_ID_END_RESERVED 0x00009fff
  76. #define POP3_MD_ID_BEGIN_RESERVED 0x0000a000
  77. #define POP3_MD_ID_END_RESERVED 0x0000afff
  78. #define NNTP_MD_ID_BEGIN_RESERVED 0x0000b000
  79. #define NNTP_MD_ID_END_RESERVED 0x0000bfff
  80. #define IMAP_MD_ID_BEGIN_RESERVED 0x0000c000
  81. #define IMAP_MD_ID_END_RESERVED 0x0000cfff
  82. #define MSCS_MD_ID_BEGIN_RESERVED 0x0000d000
  83. #define MSCS_MD_ID_END_RESERVED 0x0000dfff
  84. #define APPCTR_MD_ID_BEGIN_RESERVED 0x0000e000
  85. #define APPCTR_MD_ID_END_RESERVED 0x0000efff
  86. #define USER_MD_ID_BASE_RESERVED 0x0000ffff
  87. //
  88. // General server related attributes - these should be added in the metabase
  89. // with a user type of IIS_MD_UT_SERVER
  90. //
  91. #define IIS_MD_SERVER_BASE 1000
  92. //
  93. // These are global to all services and should only be set at
  94. // the IIS root
  95. //
  96. #define MD_MAX_BANDWIDTH (IIS_MD_SERVER_BASE+0 )
  97. #define MD_KEY_TYPE (IIS_MD_SERVER_BASE+2 )
  98. #define MD_MAX_BANDWIDTH_BLOCKED (IIS_MD_SERVER_BASE+3 )
  99. #define MD_SCHEMA_METAID (IIS_MD_SERVER_BASE+4 )
  100. //
  101. // These properties are applicable to both HTTP and FTP virtual
  102. // servers
  103. //
  104. #define MD_SERVER_COMMAND (IIS_MD_SERVER_BASE+12 )
  105. #define MD_CONNECTION_TIMEOUT (IIS_MD_SERVER_BASE+13 )
  106. #define MD_MAX_CONNECTIONS (IIS_MD_SERVER_BASE+14 )
  107. #define MD_SERVER_COMMENT (IIS_MD_SERVER_BASE+15 )
  108. #define MD_SERVER_STATE (IIS_MD_SERVER_BASE+16 )
  109. #define MD_SERVER_AUTOSTART (IIS_MD_SERVER_BASE+17 )
  110. #define MD_SERVER_SIZE (IIS_MD_SERVER_BASE+18 )
  111. #define MD_SERVER_LISTEN_BACKLOG (IIS_MD_SERVER_BASE+19 )
  112. #define MD_SERVER_LISTEN_TIMEOUT (IIS_MD_SERVER_BASE+20 )
  113. #define MD_DOWNLEVEL_ADMIN_INSTANCE (IIS_MD_SERVER_BASE+21 )
  114. #define MD_LEVELS_TO_SCAN (IIS_MD_SERVER_BASE+22 )
  115. #define MD_SERVER_BINDINGS (IIS_MD_SERVER_BASE+23 )
  116. #define MD_MAX_ENDPOINT_CONNECTIONS (IIS_MD_SERVER_BASE+24 )
  117. #define MD_SERVER_CONFIGURATION_INFO (IIS_MD_SERVER_BASE+27 )
  118. #define MD_IISADMIN_EXTENSIONS (IIS_MD_SERVER_BASE+28 )
  119. #define MD_DISABLE_SOCKET_POOLING (IIS_MD_SERVER_BASE+29 )
  120. #define MD_METADATA_ID_REGISTRATION (IIS_MD_SERVER_BASE+30 )
  121. //
  122. // These properties are specific to HTTP and belong to the website
  123. //
  124. #define IIS_MD_HTTP_BASE 2000
  125. #define MD_SECURE_BINDINGS (IIS_MD_HTTP_BASE+21 )
  126. #define MD_FILTER_LOAD_ORDER (IIS_MD_HTTP_BASE+40 )
  127. #define MD_FILTER_IMAGE_PATH (IIS_MD_HTTP_BASE+41 )
  128. #define MD_FILTER_STATE (IIS_MD_HTTP_BASE+42 )
  129. #define MD_FILTER_ENABLED (IIS_MD_HTTP_BASE+43 )
  130. #define MD_FILTER_FLAGS (IIS_MD_HTTP_BASE+44 )
  131. #define MD_FILTER_DESCRIPTION (IIS_MD_HTTP_BASE+45 )
  132. #define MD_FILTER_ENABLE_CACHE (IIS_MD_HTTP_BASE+46 )
  133. #define MD_ADV_NOTIFY_PWD_EXP_IN_DAYS (IIS_MD_HTTP_BASE+63 )
  134. #define MD_ADV_CACHE_TTL (IIS_MD_HTTP_BASE+64 )
  135. #define MD_NET_LOGON_WKS (IIS_MD_HTTP_BASE+65 )
  136. #define MD_USE_HOST_NAME (IIS_MD_HTTP_BASE+66 )
  137. #define MD_AUTH_CHANGE_FLAGS (IIS_MD_HTTP_BASE+68 )
  138. #define MD_PROCESS_NTCR_IF_LOGGED_ON (IIS_MD_HTTP_BASE+70 )
  139. #define MD_FRONTPAGE_WEB (IIS_MD_HTTP_BASE+72 )
  140. #define MD_IN_PROCESS_ISAPI_APPS (IIS_MD_HTTP_BASE+73 )
  141. #define MD_ALLOW_PATH_INFO_FOR_SCRIPT_MAPPINGS ( IIS_MD_HTTP_BASE+95)
  142. #define MD_APP_FRIENDLY_NAME (IIS_MD_HTTP_BASE+102)
  143. #define MD_APP_ROOT (IIS_MD_HTTP_BASE+103)
  144. #define MD_APP_ISOLATED (IIS_MD_HTTP_BASE+104)
  145. #define MD_APP_WAM_CLSID (IIS_MD_HTTP_BASE+105)
  146. #define MD_APP_PACKAGE_ID (IIS_MD_HTTP_BASE+106)
  147. #define MD_APP_PACKAGE_NAME (IIS_MD_HTTP_BASE+107)
  148. #define MD_APP_OOP_RECOVER_LIMIT (IIS_MD_HTTP_BASE+110)
  149. #define MD_APP_PERIODIC_RESTART_TIME (IIS_MD_HTTP_BASE+111)
  150. #define MD_APP_PERIODIC_RESTART_REQUESTS (IIS_MD_HTTP_BASE+112)
  151. #define MD_APP_PERIODIC_RESTART_SCHEDULE (IIS_MD_HTTP_BASE+113)
  152. #define MD_APP_SHUTDOWN_TIME_LIMIT (IIS_MD_HTTP_BASE+114)
  153. #define MD_ADMIN_INSTANCE (IIS_MD_HTTP_BASE+115)
  154. // This is only used by setup & UI
  155. #define MD_NOT_DELETABLE (IIS_MD_HTTP_BASE+116)
  156. #define MD_CUSTOM_ERROR_DESC (IIS_MD_HTTP_BASE+120)
  157. //
  158. // Client Access License parameters
  159. //
  160. #define MD_CAL_VC_PER_CONNECT (IIS_MD_HTTP_BASE+130)
  161. #define MD_CAL_AUTH_RESERVE_TIMEOUT (IIS_MD_HTTP_BASE+131)
  162. #define MD_CAL_SSL_RESERVE_TIMEOUT (IIS_MD_HTTP_BASE+132)
  163. #define MD_CAL_W3_ERROR (IIS_MD_HTTP_BASE+133)
  164. //
  165. // CPU Accounting and Throttling Properties
  166. //
  167. //
  168. // The enabled flags are per Application or CGI
  169. //
  170. #define MD_CPU_CGI_ENABLED (IIS_MD_HTTP_BASE+140)
  171. #define MD_CPU_APP_ENABLED (IIS_MD_HTTP_BASE+141)
  172. //
  173. // These values are per site
  174. //
  175. #define MD_CPU_LIMITS_ENABLED (IIS_MD_HTTP_BASE+143)
  176. #define MD_CPU_RESET_INTERVAL (IIS_MD_HTTP_BASE+144)
  177. #define MD_CPU_LOGGING_INTERVAL (IIS_MD_HTTP_BASE+145)
  178. #define MD_CPU_LOGGING_OPTIONS (IIS_MD_HTTP_BASE+146)
  179. #define MD_CPU_CGI_LIMIT (IIS_MD_HTTP_BASE+148)
  180. #define MD_CPU_LIMIT_LOGEVENT (IIS_MD_HTTP_BASE+149)
  181. #define MD_CPU_LIMIT_PRIORITY (IIS_MD_HTTP_BASE+150)
  182. #define MD_CPU_LIMIT_PROCSTOP (IIS_MD_HTTP_BASE+151)
  183. #define MD_CPU_LIMIT_PAUSE (IIS_MD_HTTP_BASE+152)
  184. //
  185. // DAV Enabled - Can be set on a per-URL level
  186. //
  187. #define MD_DAV_ENABLED (IIS_MD_HTTP_BASE+153)
  188. //
  189. // Valid values for CPU Accounting's MD_CPU_LOGGING_OPTIONS field
  190. //
  191. #define MD_CPU_DISABLE_ALL_LOGGING 0x0
  192. #define MD_CPU_ENABLE_ALL_PROC_LOGGING 0x1
  193. #define MD_CPU_ENABLE_CGI_LOGGING 0x2
  194. #define MD_CPU_ENABLE_APP_LOGGING 0x4
  195. //
  196. // Valid values for CPU Accounting's MD_CPU_LOGGING_MASK field
  197. // This defines which fields will be logged
  198. //
  199. #define MD_CPU_ENABLE_EVENT 0x01
  200. #define MD_CPU_ENABLE_PROC_TYPE 0x02
  201. #define MD_CPU_ENABLE_USER_TIME 0x04
  202. #define MD_CPU_ENABLE_KERNEL_TIME 0x08
  203. #define MD_CPU_ENABLE_PAGE_FAULTS 0x10
  204. #define MD_CPU_ENABLE_TOTAL_PROCS 0x20
  205. #define MD_CPU_ENABLE_ACTIVE_PROCS 0x40
  206. #define MD_CPU_ENABLE_TERMINATED_PROCS 0x80
  207. #define MD_CPU_ENABLE_LOGGING 0x80000000
  208. //
  209. // Site Server properties
  210. //
  211. #define MD_MD_SERVER_SS_AUTH_MAPPING (IIS_MD_HTTP_BASE+200)
  212. //
  213. // valid values for MD_CERT_CHECK_MODE
  214. //
  215. #define MD_CERT_NO_REVOC_CHECK 0x00000001
  216. #define MD_CERT_CACHE_RETRIEVAL_ONLY 0x00000002
  217. #define MD_CERT_CHECK_REVOCATION_FRESHNESS_TIME 0x00000004
  218. #define MD_CERT_NO_USAGE_CHECK 0x00010000
  219. //
  220. // HTTP Compression properties. All are global and unheritable.
  221. //
  222. #define MD_HC_COMPRESSION_DIRECTORY (IIS_MD_HTTP_BASE+210)
  223. #define MD_HC_CACHE_CONTROL_HEADER (IIS_MD_HTTP_BASE+211)
  224. #define MD_HC_EXPIRES_HEADER (IIS_MD_HTTP_BASE+212)
  225. #define MD_HC_DO_DYNAMIC_COMPRESSION (IIS_MD_HTTP_BASE+213)
  226. #define MD_HC_DO_STATIC_COMPRESSION (IIS_MD_HTTP_BASE+214)
  227. #define MD_HC_DO_ON_DEMAND_COMPRESSION (IIS_MD_HTTP_BASE+215)
  228. #define MD_HC_DO_DISK_SPACE_LIMITING (IIS_MD_HTTP_BASE+216)
  229. #define MD_HC_NO_COMPRESSION_FOR_HTTP_10 (IIS_MD_HTTP_BASE+217)
  230. #define MD_HC_NO_COMPRESSION_FOR_PROXIES (IIS_MD_HTTP_BASE+218)
  231. #define MD_HC_NO_COMPRESSION_FOR_RANGE (IIS_MD_HTTP_BASE+219)
  232. #define MD_HC_SEND_CACHE_HEADERS (IIS_MD_HTTP_BASE+220)
  233. #define MD_HC_MAX_DISK_SPACE_USAGE (IIS_MD_HTTP_BASE+221)
  234. #define MD_HC_IO_BUFFER_SIZE (IIS_MD_HTTP_BASE+222)
  235. #define MD_HC_COMPRESSION_BUFFER_SIZE (IIS_MD_HTTP_BASE+223)
  236. #define MD_HC_MAX_QUEUE_LENGTH (IIS_MD_HTTP_BASE+224)
  237. #define MD_HC_FILES_DELETED_PER_DISK_FREE (IIS_MD_HTTP_BASE+225)
  238. #define MD_HC_MIN_FILE_SIZE_FOR_COMP (IIS_MD_HTTP_BASE+226)
  239. #define MD_HC_COMPRESSION_DLL (IIS_MD_HTTP_BASE+237)
  240. #define MD_HC_FILE_EXTENSIONS (IIS_MD_HTTP_BASE+238)
  241. #define MD_HC_MIME_TYPE (IIS_MD_HTTP_BASE+239)
  242. #define MD_HC_PRIORITY (IIS_MD_HTTP_BASE+240)
  243. #define MD_HC_DYNAMIC_COMPRESSION_LEVEL (IIS_MD_HTTP_BASE+241)
  244. #define MD_HC_ON_DEMAND_COMP_LEVEL (IIS_MD_HTTP_BASE+242)
  245. #define MD_HC_CREATE_FLAGS (IIS_MD_HTTP_BASE+243)
  246. #define MD_HC_SCRIPT_FILE_EXTENSIONS (IIS_MD_HTTP_BASE+244)
  247. #define MD_HC_DO_NAMESPACE_DYNAMIC_COMPRESSION (IIS_MD_HTTP_BASE+255)
  248. #define MD_HC_DO_NAMESPACE_STATIC_COMPRESSION (IIS_MD_HTTP_BASE+256)
  249. //
  250. // Generic property indicating a failure status code - Can be used under
  251. // any component that can fail (virtual directory, filters, applications etc)
  252. //
  253. #define MD_WIN32_ERROR (IIS_MD_SERVER_BASE+99 )
  254. //
  255. // Virtual root properties - note MD_ACCESS_PERM is also generally set at
  256. // the virtual directory. These are used for both HTTP and FTP
  257. //
  258. #define IIS_MD_VR_BASE 3000
  259. #define MD_VR_PATH (IIS_MD_VR_BASE+1 )
  260. #define MD_VR_USERNAME (IIS_MD_VR_BASE+2 )
  261. #define MD_VR_PASSWORD (IIS_MD_VR_BASE+3 )
  262. #define MD_VR_PASSTHROUGH (IIS_MD_VR_BASE+6 )
  263. #define MD_VR_NO_CACHE (IIS_MD_VR_BASE+7 )
  264. #define MD_VR_IGNORE_TRANSLATE (IIS_MD_VR_BASE+8 )
  265. //
  266. // Logging related attributes
  267. //
  268. #define IIS_MD_LOG_BASE 4000
  269. #define MD_LOG_TYPE (IIS_MD_LOG_BASE+0 )
  270. #define MD_LOGFILE_DIRECTORY (IIS_MD_LOG_BASE+1 )
  271. #define MD_LOG_UNUSED1 (IIS_MD_LOG_BASE+2 )
  272. #define MD_LOGFILE_PERIOD (IIS_MD_LOG_BASE+3 )
  273. #define MD_LOGFILE_TRUNCATE_SIZE (IIS_MD_LOG_BASE+4 )
  274. #define MD_LOG_PLUGIN_MOD_ID (IIS_MD_LOG_BASE+5 )
  275. #define MD_LOG_PLUGIN_UI_ID (IIS_MD_LOG_BASE+6 )
  276. #define MD_LOGSQL_DATA_SOURCES (IIS_MD_LOG_BASE+7 )
  277. #define MD_LOGSQL_TABLE_NAME (IIS_MD_LOG_BASE+8 )
  278. #define MD_LOGSQL_USER_NAME (IIS_MD_LOG_BASE+9 )
  279. #define MD_LOGSQL_PASSWORD (IIS_MD_LOG_BASE+10 )
  280. #define MD_LOG_PLUGIN_ORDER (IIS_MD_LOG_BASE+11 )
  281. #define MD_LOG_PLUGINS_AVAILABLE (IIS_MD_LOG_BASE+12 )
  282. #define MD_LOGEXT_FIELD_MASK (IIS_MD_LOG_BASE+13 )
  283. #define MD_LOGEXT_FIELD_MASK2 (IIS_MD_LOG_BASE+14 )
  284. //
  285. // Allow W3C logging file naming and rollover based on Local Time
  286. //
  287. #define MD_LOGFILE_LOCALTIME_ROLLOVER (IIS_MD_LOG_BASE+15)
  288. #define IIS_MD_LOG_LAST MD_LOGFILE_LOCALTIME_ROLLOVER
  289. //
  290. // Log type
  291. //
  292. #define MD_LOG_TYPE_DISABLED 0
  293. #define MD_LOG_TYPE_ENABLED 1
  294. //
  295. // LOGGING values
  296. //
  297. #define MD_LOGFILE_PERIOD_NONE 0
  298. #define MD_LOGFILE_PERIOD_MAXSIZE 0
  299. #define MD_LOGFILE_PERIOD_DAILY 1
  300. #define MD_LOGFILE_PERIOD_WEEKLY 2
  301. #define MD_LOGFILE_PERIOD_MONTHLY 3
  302. #define MD_LOGFILE_PERIOD_HOURLY 4
  303. //
  304. // Field masks for extended logging
  305. // Fields are logged in order of increasing mask value
  306. //
  307. #define MD_EXTLOG_DATE 0x00000001
  308. #define MD_EXTLOG_TIME 0x00000002
  309. #define MD_EXTLOG_CLIENT_IP 0x00000004
  310. #define MD_EXTLOG_USERNAME 0x00000008
  311. #define MD_EXTLOG_SITE_NAME 0x00000010
  312. #define MD_EXTLOG_COMPUTER_NAME 0x00000020
  313. #define MD_EXTLOG_SERVER_IP 0x00000040
  314. #define MD_EXTLOG_METHOD 0x00000080
  315. #define MD_EXTLOG_URI_STEM 0x00000100
  316. #define MD_EXTLOG_URI_QUERY 0x00000200
  317. #define MD_EXTLOG_HTTP_STATUS 0x00000400
  318. #define MD_EXTLOG_WIN32_STATUS 0x00000800
  319. #define MD_EXTLOG_BYTES_SENT 0x00001000
  320. #define MD_EXTLOG_BYTES_RECV 0x00002000
  321. #define MD_EXTLOG_TIME_TAKEN 0x00004000
  322. #define MD_EXTLOG_SERVER_PORT 0x00008000
  323. #define MD_EXTLOG_USER_AGENT 0x00010000
  324. #define MD_EXTLOG_COOKIE 0x00020000
  325. #define MD_EXTLOG_REFERER 0x00040000
  326. #define MD_EXTLOG_PROTOCOL_VERSION 0x00080000
  327. #define MD_EXTLOG_HOST 0x00100000
  328. #define MD_DEFAULT_EXTLOG_FIELDS (MD_EXTLOG_CLIENT_IP | \
  329. MD_EXTLOG_TIME | \
  330. MD_EXTLOG_METHOD | \
  331. MD_EXTLOG_URI_STEM | \
  332. MD_EXTLOG_HTTP_STATUS)
  333. //
  334. // Custom Logging related attributes
  335. //
  336. #define IIS_MD_LOGCUSTOM_BASE 4500
  337. //
  338. // Custom Logging configuration attributes
  339. //
  340. #define MD_LOGCUSTOM_PROPERTY_NAME (IIS_MD_LOGCUSTOM_BASE+1 )
  341. #define MD_LOGCUSTOM_PROPERTY_HEADER (IIS_MD_LOGCUSTOM_BASE+2 )
  342. #define MD_LOGCUSTOM_PROPERTY_ID (IIS_MD_LOGCUSTOM_BASE+3 )
  343. #define MD_LOGCUSTOM_PROPERTY_MASK (IIS_MD_LOGCUSTOM_BASE+4 )
  344. #define MD_LOGCUSTOM_PROPERTY_DATATYPE (IIS_MD_LOGCUSTOM_BASE+5 )
  345. #define MD_LOGCUSTOM_SERVICES_STRING (IIS_MD_LOGCUSTOM_BASE+6 ) // MultiSZ List of services that the property is applicable to.
  346. #define MD_CPU_LOGGING_MASK (IIS_MD_LOGCUSTOM_BASE+7 )
  347. //
  348. // The values for MD_CPU_LOGGING_MASK are defined above.
  349. // See MD_CPU_ENABLE_EVENT, etc.
  350. //
  351. #define IIS_MD_LOGCUSTOM_LAST MD_CPU_LOGGING_MASK
  352. //
  353. // Valid values for Custom Logging's MD_LOGCUSTOM_PROPERTY_DATATYPE field
  354. //
  355. #define MD_LOGCUSTOM_DATATYPE_INT 0
  356. #define MD_LOGCUSTOM_DATATYPE_UINT 1
  357. #define MD_LOGCUSTOM_DATATYPE_LONG 2
  358. #define MD_LOGCUSTOM_DATATYPE_ULONG 3
  359. #define MD_LOGCUSTOM_DATATYPE_FLOAT 4
  360. #define MD_LOGCUSTOM_DATATYPE_DOUBLE 5
  361. #define MD_LOGCUSTOM_DATATYPE_LPSTR 6
  362. #define MD_LOGCUSTOM_DATATYPE_LPWSTR 7
  363. //
  364. // ISAPI Filter Notification Flags
  365. //
  366. #define MD_NOTIFY_SECURE_PORT 0x00000001
  367. #define MD_NOTIFY_NONSECURE_PORT 0x00000002
  368. #define MD_NOTIFY_READ_RAW_DATA 0x00008000
  369. #define MD_NOTIFY_PREPROC_HEADERS 0x00004000
  370. #define MD_NOTIFY_AUTHENTICATION 0x00002000
  371. #define MD_NOTIFY_URL_MAP 0x00001000
  372. #define MD_NOTIFY_ACCESS_DENIED 0x00000800
  373. #define MD_NOTIFY_SEND_RESPONSE 0x00000040
  374. #define MD_NOTIFY_SEND_RAW_DATA 0x00000400
  375. #define MD_NOTIFY_LOG 0x00000200
  376. #define MD_NOTIFY_END_OF_REQUEST 0x00000080
  377. #define MD_NOTIFY_END_OF_NET_SESSION 0x00000100
  378. #define MD_NOTIFY_AUTH_COMPLETE 0x04000000
  379. //
  380. // ISAPI Filter ordering flags
  381. //
  382. #define MD_NOTIFY_ORDER_HIGH 0x00080000
  383. #define MD_NOTIFY_ORDER_MEDIUM 0x00040000
  384. #define MD_NOTIFY_ORDER_LOW 0x00020000
  385. #define MD_NOTIFY_ORDER_DEFAULT MD_NOTIFY_ORDER_LOW
  386. #define MD_NOTIFY_ORDER_MASK (MD_NOTIFY_ORDER_HIGH | \
  387. MD_NOTIFY_ORDER_MEDIUM | \
  388. MD_NOTIFY_ORDER_LOW)
  389. //
  390. // These are FTP specific properties
  391. //
  392. #define IIS_MD_FTP_BASE 5000
  393. #define MD_EXIT_MESSAGE (IIS_MD_FTP_BASE+1 )
  394. #define MD_GREETING_MESSAGE (IIS_MD_FTP_BASE+2 )
  395. #define MD_MAX_CLIENTS_MESSAGE (IIS_MD_FTP_BASE+3 )
  396. #define MD_MSDOS_DIR_OUTPUT (IIS_MD_FTP_BASE+4 )
  397. #define MD_ALLOW_ANONYMOUS (IIS_MD_FTP_BASE+5 )
  398. #define MD_ANONYMOUS_ONLY (IIS_MD_FTP_BASE+6 )
  399. #define MD_LOG_ANONYMOUS (IIS_MD_FTP_BASE+7 )
  400. #define MD_LOG_NONANONYMOUS (IIS_MD_FTP_BASE+8 )
  401. #define MD_ALLOW_REPLACE_ON_RENAME (IIS_MD_FTP_BASE+9 )
  402. #define MD_SHOW_4_DIGIT_YEAR (IIS_MD_FTP_BASE+10 )
  403. #define MD_BANNER_MESSAGE (IIS_MD_FTP_BASE+11 )
  404. #define MD_USER_ISOLATION (IIS_MD_FTP_BASE+12 )
  405. #define MD_FTP_LOG_IN_UTF_8 (IIS_MD_FTP_BASE+13 )
  406. #define MD_SUPPRESS_DEFAULT_BANNER (IIS_MD_FTP_BASE+17 )
  407. //
  408. // These are SSL specific properties
  409. //
  410. #define IIS_MD_SSL_BASE 5500
  411. #define MD_SSL_PUBLIC_KEY ( IIS_MD_SSL_BASE+0 )
  412. #define MD_SSL_PRIVATE_KEY ( IIS_MD_SSL_BASE+1 )
  413. #define MD_SSL_KEY_PASSWORD ( IIS_MD_SSL_BASE+2 )
  414. #define MD_SSL_KEY_REQUEST ( IIS_MD_SSL_BASE+3 )
  415. //
  416. // These are server certificate properties
  417. //
  418. //
  419. // These are Certificate Trust List properties
  420. //
  421. //
  422. // Metabase property that defines whether to use DS mapper or not
  423. //
  424. #define MD_SSL_USE_DS_MAPPER ( IIS_MD_SSL_BASE+19 )
  425. //
  426. // Metabase properties that are used by the CertWiz ActiveX control, that
  427. // is used for the Certificate/CTL UI management tool
  428. //
  429. //
  430. // Metabase properties used for Fortezza certificates
  431. //
  432. //
  433. // Metabase properties that are used by the CertWiz ActiveX control to keep
  434. // track of the user's entry history, and whether DEBUG is enabled. We keep
  435. // these private properties on a per VS basis.
  436. //
  437. // File and Directory related properties - these should be added in the
  438. // metabase with a user type of IIS_MD_UT_FILE
  439. //
  440. #define IIS_MD_FILE_PROP_BASE 6000
  441. #define MD_AUTHORIZATION (IIS_MD_FILE_PROP_BASE )
  442. #define MD_REALM (IIS_MD_FILE_PROP_BASE+1 )
  443. #define MD_HTTP_EXPIRES (IIS_MD_FILE_PROP_BASE+2 )
  444. #define MD_HTTP_PICS (IIS_MD_FILE_PROP_BASE+3 )
  445. #define MD_HTTP_CUSTOM (IIS_MD_FILE_PROP_BASE+4 )
  446. #define MD_DIRECTORY_BROWSING (IIS_MD_FILE_PROP_BASE+5 )
  447. #define MD_DEFAULT_LOAD_FILE (IIS_MD_FILE_PROP_BASE+6 )
  448. #define MD_CUSTOM_ERROR (IIS_MD_FILE_PROP_BASE+8 )
  449. #define MD_FOOTER_DOCUMENT (IIS_MD_FILE_PROP_BASE+9 )
  450. #define MD_FOOTER_ENABLED (IIS_MD_FILE_PROP_BASE+10 )
  451. #define MD_HTTP_REDIRECT (IIS_MD_FILE_PROP_BASE+11 )
  452. #define MD_DEFAULT_LOGON_DOMAIN (IIS_MD_FILE_PROP_BASE+12 )
  453. #define MD_LOGON_METHOD (IIS_MD_FILE_PROP_BASE+13 )
  454. #define MD_SCRIPT_MAPS (IIS_MD_FILE_PROP_BASE+14 )
  455. #define MD_MIME_MAP (IIS_MD_FILE_PROP_BASE+15 )
  456. #define MD_ACCESS_PERM (IIS_MD_FILE_PROP_BASE+16 )
  457. #define MD_IP_SEC (IIS_MD_FILE_PROP_BASE+19 )
  458. #define MD_ANONYMOUS_USER_NAME (IIS_MD_FILE_PROP_BASE+20 )
  459. #define MD_ANONYMOUS_PWD (IIS_MD_FILE_PROP_BASE+21 )
  460. #define MD_ANONYMOUS_USE_SUBAUTH (IIS_MD_FILE_PROP_BASE+22 )
  461. #define MD_DONT_LOG (IIS_MD_FILE_PROP_BASE+23 )
  462. #define MD_ADMIN_ACL (IIS_MD_FILE_PROP_BASE+27 )
  463. #define MD_SSI_EXEC_DISABLED (IIS_MD_FILE_PROP_BASE+28 )
  464. #define MD_DO_REVERSE_DNS (IIS_MD_FILE_PROP_BASE+29 )
  465. #define MD_SSL_ACCESS_PERM (IIS_MD_FILE_PROP_BASE+30 )
  466. #define MD_AUTHORIZATION_PERSISTENCE (IIS_MD_FILE_PROP_BASE+31 )
  467. #define MD_NTAUTHENTICATION_PROVIDERS (IIS_MD_FILE_PROP_BASE+32 )
  468. #define MD_SCRIPT_TIMEOUT (IIS_MD_FILE_PROP_BASE+33 )
  469. #define MD_CACHE_EXTENSIONS (IIS_MD_FILE_PROP_BASE+34 )
  470. #define MD_CREATE_PROCESS_AS_USER (IIS_MD_FILE_PROP_BASE+35 )
  471. #define MD_CREATE_PROC_NEW_CONSOLE (IIS_MD_FILE_PROP_BASE+36 )
  472. #define MD_POOL_IDC_TIMEOUT (IIS_MD_FILE_PROP_BASE+37 )
  473. #define MD_ALLOW_KEEPALIVES (IIS_MD_FILE_PROP_BASE+38 )
  474. #define MD_IS_CONTENT_INDEXED (IIS_MD_FILE_PROP_BASE+39 )
  475. #define MD_CC_NO_CACHE (IIS_MD_FILE_PROP_BASE+41 )
  476. #define MD_CC_MAX_AGE (IIS_MD_FILE_PROP_BASE+42 )
  477. #define MD_CC_OTHER (IIS_MD_FILE_PROP_BASE+43 )
  478. #define MD_REDIRECT_HEADERS (IIS_MD_FILE_PROP_BASE+44 )
  479. #define MD_UPLOAD_READAHEAD_SIZE (IIS_MD_FILE_PROP_BASE+45 )
  480. #define MD_PUT_READ_SIZE (IIS_MD_FILE_PROP_BASE+46 )
  481. #define MD_USE_DIGEST_SSP (IIS_MD_FILE_PROP_BASE+47 )
  482. #define ASP_MD_SERVER_BASE 7000
  483. #define MD_ASP_BUFFERINGON (ASP_MD_SERVER_BASE + 0)
  484. #define MD_ASP_LOGERRORREQUESTS (ASP_MD_SERVER_BASE + 1)
  485. #define MD_ASP_SCRIPTERRORSSENTTOBROWSER (ASP_MD_SERVER_BASE + 2)
  486. #define MD_ASP_SCRIPTERRORMESSAGE (ASP_MD_SERVER_BASE + 3)
  487. #define MD_ASP_SCRIPTFILECACHESIZE (ASP_MD_SERVER_BASE + 4)
  488. #define MD_ASP_SCRIPTENGINECACHEMAX (ASP_MD_SERVER_BASE + 5)
  489. #define MD_ASP_SCRIPTTIMEOUT (ASP_MD_SERVER_BASE + 6)
  490. #define MD_ASP_SESSIONTIMEOUT (ASP_MD_SERVER_BASE + 7)
  491. #define MD_ASP_ENABLEPARENTPATHS (ASP_MD_SERVER_BASE + 8)
  492. #define MD_ASP_MEMFREEFACTOR (ASP_MD_SERVER_BASE + 9) // OBSOLETE
  493. #define MD_ASP_MINUSEDBLOCKS (ASP_MD_SERVER_BASE + 10) // OBSOLETE
  494. #define MD_ASP_ALLOWSESSIONSTATE (ASP_MD_SERVER_BASE + 11)
  495. #define MD_ASP_SCRIPTLANGUAGE (ASP_MD_SERVER_BASE + 12)
  496. #define MD_ASP_QUEUETIMEOUT (ASP_MD_SERVER_BASE + 13)
  497. #define MD_ASP_ALLOWOUTOFPROCCOMPONENTS (ASP_MD_SERVER_BASE + 14)
  498. #define MD_ASP_ALLOWOUTOFPROCCMPNTS (MD_ASP_ALLOWOUTOFPROCCOMPONENTS) // Deprecated. Use MD_ASP_ALLOWOUTOFPROCCMPNTS
  499. #define MD_ASP_EXCEPTIONCATCHENABLE (ASP_MD_SERVER_BASE + 15)
  500. #define MD_ASP_CODEPAGE (ASP_MD_SERVER_BASE + 16)
  501. #define MD_ASP_SCRIPTLANGUAGELIST (ASP_MD_SERVER_BASE + 17)
  502. #define MD_ASP_ENABLESERVERDEBUG (ASP_MD_SERVER_BASE + 18)
  503. #define MD_ASP_ENABLECLIENTDEBUG (ASP_MD_SERVER_BASE + 19)
  504. #define MD_ASP_TRACKTHREADINGMODEL (ASP_MD_SERVER_BASE + 20)
  505. // added for IIS 5.0
  506. #define MD_ASP_ENABLEASPHTMLFALLBACK (ASP_MD_SERVER_BASE + 21)
  507. #define MD_ASP_ENABLECHUNKEDENCODING (ASP_MD_SERVER_BASE + 22)
  508. #define MD_ASP_ENABLETYPELIBCACHE (ASP_MD_SERVER_BASE + 23)
  509. #define MD_ASP_ERRORSTONTLOG (ASP_MD_SERVER_BASE + 24)
  510. #define MD_ASP_PROCESSORTHREADMAX (ASP_MD_SERVER_BASE + 25)
  511. #define MD_ASP_REQEUSTQUEUEMAX (ASP_MD_SERVER_BASE + 26)
  512. #define MD_ASP_ENABLEAPPLICATIONRESTART (ASP_MD_SERVER_BASE + 27)
  513. #define MD_ASP_QUEUECONNECTIONTESTTIME (ASP_MD_SERVER_BASE + 28)
  514. #define MD_ASP_SESSIONMAX (ASP_MD_SERVER_BASE + 29)
  515. // thread gate
  516. #define MD_ASP_THREADGATEENABLED (ASP_MD_SERVER_BASE + 30)
  517. #define MD_ASP_THREADGATETIMESLICE (ASP_MD_SERVER_BASE + 31)
  518. #define MD_ASP_THREADGATESLEEPDELAY (ASP_MD_SERVER_BASE + 32)
  519. #define MD_ASP_THREADGATESLEEPMAX (ASP_MD_SERVER_BASE + 33)
  520. #define MD_ASP_THREADGATELOADLOW (ASP_MD_SERVER_BASE + 34)
  521. #define MD_ASP_THREADGATELOADHIGH (ASP_MD_SERVER_BASE + 35)
  522. // added IIS5.1
  523. // persist template cache
  524. #define MD_ASP_DISKTEMPLATECACHEDIRECTORY (ASP_MD_SERVER_BASE + 36)
  525. #define MD_ASP_MAXDISKTEMPLATECACHEFILES (ASP_MD_SERVER_BASE + 40)
  526. #define MD_ASP_EXECUTEINMTA (ASP_MD_SERVER_BASE + 41)
  527. #define MD_ASP_LCID (ASP_MD_SERVER_BASE + 42)
  528. #define MD_ASP_KEEPSESSIONIDSECURE (ASP_MD_SERVER_BASE + 43)
  529. // added IIS6.0
  530. // Services without components integration
  531. #define MD_ASP_SERVICE_FLAGS (ASP_MD_SERVER_BASE + 44)
  532. #define MD_ASP_SERVICE_FLAG_TRACKER (ASP_MD_SERVER_BASE + 45)
  533. #define MD_ASP_SERVICE_FLAG_FUSION (ASP_MD_SERVER_BASE + 46)
  534. #define MD_ASP_SERVICE_FLAG_PARTITIONS (ASP_MD_SERVER_BASE + 47)
  535. #define MD_ASP_SERVICE_PARTITION_ID (ASP_MD_SERVER_BASE + 48)
  536. #define MD_ASP_SERVICE_SXS_NAME (ASP_MD_SERVER_BASE + 49)
  537. // winse 49978
  538. #define MD_ASP_BUFFER_LIMIT (ASP_MD_SERVER_BASE + 52)
  539. #define MD_ASP_MAXREQUESTENTITY (ASP_MD_SERVER_BASE + 53)
  540. #define MD_ASP_ID_LAST (ASP_MD_SERVER_BASE + 53)
  541. //
  542. // Valid values for WAM
  543. //
  544. #define WAM_MD_SERVER_BASE 7500
  545. #define MD_WAM_USER_NAME (WAM_MD_SERVER_BASE+1)
  546. #define MD_WAM_PWD (WAM_MD_SERVER_BASE+2)
  547. //
  548. // Valid values for WEBDAV
  549. //
  550. #define WEBDAV_MD_SERVER_BASE 8500
  551. #define MD_WEBDAV_MAX_ATTRIBUTES_PER_ELEMENT (WEBDAV_MD_SERVER_BASE+1)
  552. // added IIS6
  553. //
  554. // Valid values for APP POOL
  555. //
  556. #define IIS_MD_APPPOOL_BASE 9000
  557. #define MD_APPPOOL_PERIODIC_RESTART_TIME (IIS_MD_APPPOOL_BASE + 1)
  558. #define MD_APPPOOL_PERIODIC_RESTART_REQUEST_COUNT (IIS_MD_APPPOOL_BASE + 2)
  559. #define MD_APPPOOL_MAX_PROCESS_COUNT (IIS_MD_APPPOOL_BASE + 3)
  560. #define MD_APPPOOL_PINGING_ENABLED (IIS_MD_APPPOOL_BASE + 4)
  561. #define MD_APPPOOL_IDLE_TIMEOUT (IIS_MD_APPPOOL_BASE + 5)
  562. #define MD_APPPOOL_RAPID_FAIL_PROTECTION_ENABLED (IIS_MD_APPPOOL_BASE + 6)
  563. #define MD_APPPOOL_SMP_AFFINITIZED (IIS_MD_APPPOOL_BASE + 7)
  564. #define MD_APPPOOL_SMP_AFFINITIZED_PROCESSOR_MASK (IIS_MD_APPPOOL_BASE + 8)
  565. #define MD_APPPOOL_ORPHAN_PROCESSES_FOR_DEBUGGING (IIS_MD_APPPOOL_BASE + 9)
  566. #define MD_APPPOOL_RUN_AS_LOCALSYSTEM (IIS_MD_APPPOOL_BASE + 10)
  567. #define MD_APPPOOL_STARTUP_TIMELIMIT (IIS_MD_APPPOOL_BASE + 11)
  568. #define MD_APPPOOL_SHUTDOWN_TIMELIMIT (IIS_MD_APPPOOL_BASE + 12)
  569. #define MD_APPPOOL_PING_INTERVAL (IIS_MD_APPPOOL_BASE + 13)
  570. #define MD_APPPOOL_PING_RESPONSE_TIMELIMIT (IIS_MD_APPPOOL_BASE + 14)
  571. #define MD_APPPOOL_DISALLOW_OVERLAPPING_ROTATION (IIS_MD_APPPOOL_BASE + 15)
  572. #define MD_APPPOOL_ORPHAN_ACTION (IIS_MD_APPPOOL_BASE + 16)
  573. #define MD_APPPOOL_UL_APPPOOL_QUEUE_LENGTH (IIS_MD_APPPOOL_BASE + 17)
  574. #define MD_APPPOOL_DISALLOW_ROTATION_ON_CONFIG_CHANGE (IIS_MD_APPPOOL_BASE + 18)
  575. #define MD_APPPOOL_FRIENDLY_NAME (IIS_MD_APPPOOL_BASE + 19)
  576. #define MD_APPPOOL_PERIODIC_RESTART_SCHEDULE (IIS_MD_APPPOOL_BASE + 20)
  577. #define MD_APPPOOL_IDENTITY_TYPE (IIS_MD_APPPOOL_BASE + 21)
  578. #define MD_CPU_ACTION (IIS_MD_APPPOOL_BASE + 22)
  579. #define MD_CPU_LIMIT (IIS_MD_APPPOOL_BASE + 23)
  580. #define MD_APPPOOL_PERIODIC_RESTART_MEMORY (IIS_MD_APPPOOL_BASE + 24)
  581. #define MD_DISABLE_PUBLISHING (IIS_MD_APPPOOL_BASE + 25)
  582. #define MD_APPPOOL_COMMAND (IIS_MD_APPPOOL_BASE + 26)
  583. #define MD_APPPOOL_STATE (IIS_MD_APPPOOL_BASE + 27)
  584. #define MD_APPPOOL_AUTO_START (IIS_MD_APPPOOL_BASE + 28)
  585. #define MD_RAPID_FAIL_PROTECTION_INTERVAL (IIS_MD_APPPOOL_BASE + 29)
  586. #define MD_RAPID_FAIL_PROTECTION_MAX_CRASHES (IIS_MD_APPPOOL_BASE + 30)
  587. #define MD_APPPOOL_ORPHAN_ACTION_EXE (IIS_MD_APPPOOL_BASE + 31)
  588. #define MD_APPPOOL_ORPHAN_ACTION_PARAMS (IIS_MD_APPPOOL_BASE + 32)
  589. //
  590. // Valid values for MD_CPU_ACTION
  591. //
  592. #define MD_CPU_NO_ACTION 0
  593. #define MD_CPU_KILL_W3WP 1
  594. #define MD_CPU_TRACE 2
  595. #define MD_CPU_THROTTLE 3
  596. //
  597. // Valid values for MD_APPPOOL_COMMAND
  598. //
  599. #define MD_APPPOOL_COMMAND_START 1
  600. #define MD_APPPOOL_COMMAND_STOP 2
  601. //
  602. // Valid values for MD_APPPOOL_STATE
  603. //
  604. #define MD_APPPOOL_STATE_STARTING 1
  605. #define MD_APPPOOL_STATE_STARTED 2
  606. #define MD_APPPOOL_STATE_STOPPING 3
  607. #define MD_APPPOOL_STATE_STOPPED 4
  608. //
  609. // Valid values for MD_APPPOOL_STATE
  610. //
  611. #define IIS_MD_APP_BASE 9100
  612. #define MD_APP_APPPOOL_ID (IIS_MD_APP_BASE+1)
  613. #define MD_APP_ALLOW_TRANSIENT_REGISTRATION (IIS_MD_APP_BASE+2)
  614. #define MD_APP_AUTO_START (IIS_MD_APP_BASE+3)
  615. #define MD_APPPOOL_PERIODIC_RESTART_CONNECTIONS (IIS_MD_APP_BASE+4)
  616. //
  617. // TODO: These are duplicate definitions. Remove them if no one is using it.
  618. //
  619. #define MD_APPPOOL_APPPOOL_ID (IIS_MD_APP_BASE + 101)
  620. #define MD_APPPOOL_ALLOW_TRANSIENT_REGISTRATION (IIS_MD_APP_BASE + 102)
  621. // commented out so we can build
  622. //#define MD_APPPOOL_AUTO_START (IIS_MD_APP_BASE + 103)
  623. #define IIS_MD_GLOBAL_BASE 9200
  624. #define MD_MAX_GLOBAL_BANDWIDTH (IIS_MD_GLOBAL_BASE+1)
  625. #define MD_MAX_GLOBAL_CONNECTIONS (IIS_MD_GLOBAL_BASE+2)
  626. #define MD_GLOBAL_STANDARD_APP_MODE_ENABLED (IIS_MD_GLOBAL_BASE+3)
  627. #define MD_HEADER_WAIT_TIMEOUT (IIS_MD_GLOBAL_BASE+4)
  628. #define MD_MIN_FILE_KB_SEC (IIS_MD_GLOBAL_BASE+5)
  629. #define MD_GLOBAL_LOG_IN_UTF_8 (IIS_MD_GLOBAL_BASE+6)
  630. #define MD_GLOBAL_SESSIONKEY 9999
  631. #define MD_ROOT_ENABLE_EDIT_WHILE_RUNNING 9998
  632. #define MD_GLOBAL_CHANGE_NUMBER 9997
  633. #define MD_ROOT_ENABLE_HISTORY 9996
  634. #define MD_ROOT_MAX_HISTORY_FILES 9995
  635. #define MD_GLOBAL_EDIT_WHILE_RUNNING_MAJOR_VERSION_NUMBER 9994
  636. #define MD_GLOBAL_EDIT_WHILE_RUNNING_MINOR_VERSION_NUMBER 9993
  637. #define MD_GLOBAL_XMLSCHEMATIMESTAMP 9992
  638. #define MD_GLOBAL_BINSCHEMATIMESTAMP 9991
  639. #define MD_COMMENTS 9990
  640. #define MD_LOCATION 9989
  641. #define MD_MAX_ERROR_FILES 9988
  642. #define MD_STOP_LISTENING 9987
  643. //
  644. // Valid values for MD_AUTHORIZATION
  645. //
  646. #define MD_AUTH_ANONYMOUS 0x00000001
  647. #define MD_AUTH_BASIC 0x00000002
  648. #define MD_AUTH_NT 0x00000004 // Use NT auth provider (like NTLM)
  649. //
  650. // Valid values for MD_AUTHORIZATION_PERSISTENCE
  651. //
  652. #define MD_AUTH_SINGLEREQUEST 0x00000040
  653. #define MD_AUTH_SINGLEREQUESTIFPROXY 0x00000080
  654. #define MD_AUTH_SINGLEREQUESTALWAYSIFPROXY 0x00000100
  655. //
  656. // Valid values for MD_ACCESS_PERM
  657. //
  658. #define MD_ACCESS_READ 0x00000001 // Allow for Read
  659. #define MD_ACCESS_WRITE 0x00000002 // Allow for Write
  660. #define MD_ACCESS_EXECUTE 0x00000004 // Allow for Execute
  661. #define MD_ACCESS_SOURCE 0x00000010 // Apply access mask to source
  662. #define MD_ACCESS_SCRIPT 0x00000200 // Allow for Script execution
  663. #define MD_ACCESS_NO_REMOTE_WRITE 0x00000400 // Local host access only
  664. #define MD_ACCESS_NO_REMOTE_READ 0x00001000 // Local host access only
  665. #define MD_ACCESS_NO_REMOTE_EXECUTE 0x00002000 // Local host access only
  666. #define MD_ACCESS_NO_REMOTE_SCRIPT 0x00004000 // Local host access only
  667. #define MD_NONSLL_ACCESS_MASK (MD_ACCESS_READ| \
  668. MD_ACCESS_WRITE| \
  669. MD_ACCESS_EXECUTE| \
  670. MD_ACCESS_SOURCE| \
  671. MD_ACCESS_SCRIPT| \
  672. MD_ACCESS_NO_REMOTE_READ| \
  673. MD_ACCESS_NO_REMOTE_WRITE| \
  674. MD_ACCESS_NO_REMOTE_EXECUTE| \
  675. MD_ACCESS_NO_REMOTE_SCRIPT \
  676. )
  677. //
  678. // Valid values for MD_SSL_ACCESS_PERM
  679. //
  680. #define MD_ACCESS_SSL 0x00000008 // Require SSL
  681. #define MD_ACCESS_NEGO_CERT 0x00000020 // Allow client SSL certs
  682. #define MD_ACCESS_REQUIRE_CERT 0x00000040 // Require client SSL certs
  683. #define MD_ACCESS_MAP_CERT 0x00000080 // Map SSL cert to NT account
  684. #define MD_ACCESS_SSL128 0x00000100 // Require 128 bit SSL
  685. #define MD_SSL_ACCESS_MASK (MD_ACCESS_SSL|\
  686. MD_ACCESS_NEGO_CERT|\
  687. MD_ACCESS_REQUIRE_CERT|\
  688. MD_ACCESS_MAP_CERT|\
  689. MD_ACCESS_SSL128)
  690. #define MD_ACCESS_MASK 0x00007fff
  691. //
  692. // Valid values for MD_DIRECTORY_BROWSING
  693. //
  694. #define MD_DIRBROW_SHOW_DATE 0x00000002
  695. #define MD_DIRBROW_SHOW_TIME 0x00000004
  696. #define MD_DIRBROW_SHOW_SIZE 0x00000008
  697. #define MD_DIRBROW_SHOW_EXTENSION 0x00000010
  698. #define MD_DIRBROW_LONG_DATE 0x00000020
  699. #define MD_DIRBROW_ENABLED 0x80000000 // Allow directory browsing
  700. #define MD_DIRBROW_LOADDEFAULT 0x40000000 // Load default doc if exists
  701. #define MD_DIRBROW_MASK (MD_DIRBROW_SHOW_DATE | \
  702. MD_DIRBROW_SHOW_TIME | \
  703. MD_DIRBROW_SHOW_SIZE | \
  704. MD_DIRBROW_SHOW_EXTENSION | \
  705. MD_DIRBROW_LONG_DATE | \
  706. MD_DIRBROW_LOADDEFAULT | \
  707. MD_DIRBROW_ENABLED)
  708. //
  709. // Valid values for MD_LOGON_METHOD
  710. //
  711. #define MD_LOGON_INTERACTIVE 0
  712. #define MD_LOGON_BATCH 1
  713. #define MD_LOGON_NETWORK 2
  714. #define MD_LOGON_NETWORK_CLEARTEXT 3
  715. //
  716. // Valid values for MD_NOTIFY_EXAUTH
  717. //
  718. #define MD_NOTIFEXAUTH_NTLMSSL 1
  719. //
  720. // Valid values for MD_FILTER_STATE
  721. //
  722. #define MD_FILTER_STATE_LOADED 1
  723. #define MD_FILTER_STATE_UNLOADED 4
  724. //
  725. // Valid values for MD_SERVER_STATE
  726. //
  727. #define MD_SERVER_STATE_STARTING 1
  728. #define MD_SERVER_STATE_STARTED 2
  729. #define MD_SERVER_STATE_STOPPING 3
  730. #define MD_SERVER_STATE_STOPPED 4
  731. #define MD_SERVER_STATE_PAUSING 5
  732. #define MD_SERVER_STATE_PAUSED 6
  733. #define MD_SERVER_STATE_CONTINUING 7
  734. //
  735. // Valid values for MD_SERVER_COMMAND
  736. //
  737. #define MD_SERVER_COMMAND_START 1
  738. #define MD_SERVER_COMMAND_STOP 2
  739. #define MD_SERVER_COMMAND_PAUSE 3
  740. #define MD_SERVER_COMMAND_CONTINUE 4
  741. //
  742. // Valid values for MD_SERVER_SIZE
  743. //
  744. #define MD_SERVER_SIZE_SMALL 0
  745. #define MD_SERVER_SIZE_MEDIUM 1
  746. #define MD_SERVER_SIZE_LARGE 2
  747. //
  748. // Valid values for MD_SERVER_CONFIG_INFO
  749. //
  750. #define MD_SERVER_CONFIG_SSL_40 0x00000001
  751. #define MD_SERVER_CONFIG_SSL_128 0x00000002
  752. #define MD_SERVER_CONFIG_ALLOW_ENCRYPT 0x00000004
  753. #define MD_SERVER_CONFIG_AUTO_PW_SYNC 0x00000008
  754. #define MD_SERVER_CONFIGURATION_MASK (MD_SERVER_CONFIG_SSL_40 | \
  755. MD_SERVER_CONFIG_SSL_128 | \
  756. MD_SERVER_CONFIG_ENCRYPT | \
  757. MD_SERVER_CONFIG_AUTO_PW_SYNC)
  758. //
  759. // Valid values for MD_SCRIPT_MAPS flag field
  760. //
  761. #define MD_SCRIPTMAPFLAG_SCRIPT 0x00000001
  762. #define MD_SCRIPTMAPFLAG_CHECK_PATH_INFO 0x00000004
  763. #ifdef REMOVE // SteveBr
  764. //
  765. // Bogus value - do not use
  766. //
  767. #define MD_SCRIPTMAPFLAG_ALLOWED_ON_READ_DIR 0x00000001
  768. #endif // REMOVE
  769. //
  770. // Valid values for MD_AUTH_CHANGE_ENABLE
  771. //
  772. #define MD_AUTH_CHANGE_UNSECURE 0x00000001
  773. #define MD_AUTH_CHANGE_DISABLE 0x00000002
  774. #define MD_AUTH_ADVNOTIFY_DISABLE 0x00000004
  775. //
  776. // Valid values for MD_NET_LOGON_WKS
  777. //
  778. #define MD_NETLOGON_WKS_NONE 0
  779. #define MD_NETLOGON_WKS_IP 1
  780. #define MD_NETLOGON_WKS_DNS 2
  781. //
  782. // Valide substatus errors for MD_CUSTOM_ERROR
  783. //
  784. #define MD_ERROR_SUB401_LOGON 1
  785. #define MD_ERROR_SUB401_LOGON_CONFIG 2
  786. #define MD_ERROR_SUB401_LOGON_ACL 3
  787. #define MD_ERROR_SUB401_FILTER 4
  788. #define MD_ERROR_SUB401_APPLICATION 5
  789. #define MD_ERROR_SUB403_EXECUTE_ACCESS_DENIED 1
  790. #define MD_ERROR_SUB403_READ_ACCESS_DENIED 2
  791. #define MD_ERROR_SUB403_WRITE_ACCESS_DENIED 3
  792. #define MD_ERROR_SUB403_SSL_REQUIRED 4
  793. #define MD_ERROR_SUB403_SSL128_REQUIRED 5
  794. #define MD_ERROR_SUB403_ADDR_REJECT 6
  795. #define MD_ERROR_SUB403_CERT_REQUIRED 7
  796. #define MD_ERROR_SUB403_SITE_ACCESS_DENIED 8
  797. #define MD_ERROR_SUB403_TOO_MANY_USERS 9
  798. #define MD_ERROR_SUB403_INVALID_CNFG 10
  799. #define MD_ERROR_SUB403_PWD_CHANGE 11
  800. #define MD_ERROR_SUB403_MAPPER_DENY_ACCESS 12
  801. #define MD_ERROR_SUB403_CERT_REVOKED 13
  802. #define MD_ERROR_SUB403_DIR_LIST_DENIED 14
  803. #define MD_ERROR_SUB403_CAL_EXCEEDED 15
  804. #define MD_ERROR_SUB403_CERT_BAD 16
  805. #define MD_ERROR_SUB403_CERT_TIME_INVALID 17
  806. #define MD_ERROR_SUB404_SITE_NOT_FOUND 1
  807. #define MD_ERROR_SUB502_TIMEOUT 1
  808. #define MD_ERROR_SUB502_PREMATURE_EXIT 2
  809. #define MD_ERROR_SUB503_CPU_LIMIT 1
  810. //
  811. // Valid access rights for ACE entries in MD_ADMIN_ACL
  812. //
  813. #define MD_ACR_READ 0x00000001
  814. #define MD_ACR_WRITE 0x00000002
  815. #define MD_ACR_RESTRICTED_WRITE 0x00000020
  816. #define MD_ACR_UNSECURE_PROPS_READ 0x00000080
  817. #define MD_ACR_ENUM_KEYS 0x00000008
  818. #define MD_ACR_WRITE_DAC 0x00040000
  819. //
  820. // MD_IP_SEC binary format description
  821. //
  822. /*
  823. This object is composed of 4 lists : 2 lists ( deny & grant ) of network addresses,
  824. the only allowed family is AF_INET.
  825. Each of this list is composed of sublists, one for each ( network address family,
  826. significant subnet mask ) combination. The significant subnet mask is stored as
  827. ( number of bytes all 1 ( 0xff ), bitmask in last byte ).
  828. This is followed by 2 lists ( deny & grant ) of DNS names. Each of these lists is
  829. composed of sublists, based on then number of components in the DNS name
  830. e.g. "microsoft.com" has 2 components, "www.msft.com" has 3.
  831. Header:
  832. SELFREFINDEX iDenyAddr; // address deny list
  833. // points to ADDRESS_HEADER
  834. SELFREFINDEX iGrantAddr; // address grant list
  835. // points to ADDRESS_HEADER
  836. SELFREFINDEX iDenyName; // DNS name deny list
  837. // points to NAME_HEADER
  838. SELFREFINDEX iGrantName; // DNS name grant list
  839. // points to NAME_HEADER
  840. DWORD dwFlags;
  841. DWORD cRefSize; // size of reference area ( in bytes )
  842. ADDRESS_HEADER :
  843. DWORD cEntries; // # of Entries[]
  844. DWORD cAddresses; // total # of addresses in all
  845. // ADDRESS_LIST_ENTRY
  846. ADDRESS_LIST_ENTRY Entries[];
  847. ADDRESS_LIST_ENTRY :
  848. DWORD iFamily;
  849. DWORD cAddresses;
  850. DWORD cFullBytes;
  851. DWORD LastByte;
  852. SELFREFINDEX iFirstAddress; // points to array of addresses
  853. NAME_HEADER :
  854. DWORD cEntries;
  855. DWORD cNames; // total # of names for all Entries[]
  856. NAME_LIST_ENTRY Entries[];
  857. Name list entry :
  858. DWORD cComponents; // # of DNS components
  859. DWORD cNames;
  860. SELFREFINDEX iName[]; // array of references to DNS names
  861. This is followed by address arrays & names pointed to by iFirstAddress & iName
  862. Names are '\0' delimited
  863. SELFREFINDEX is a DWORD offset from start of structure with high bit set to 1
  864. */
  865. //
  866. // Macros
  867. //
  868. #define MD_SET_DATA_RECORD(_pMDR, _id, _attr, _utype, _dtype, _dlen, _pData) \
  869. { \
  870. (_pMDR)->dwMDIdentifier=(_id); \
  871. (_pMDR)->dwMDAttributes=(_attr); \
  872. (_pMDR)->dwMDUserType=(_utype); \
  873. (_pMDR)->dwMDDataType=(_dtype); \
  874. (_pMDR)->dwMDDataLen=(_dlen); \
  875. (_pMDR)->pbMDData=(LPBYTE)(_pData); \
  876. }
  877. //
  878. // IIS ADSI Admin Object class names
  879. //
  880. #define IIS_CLASS_COMPUTER "IIsComputer"
  881. #define IIS_CLASS_WEB_SERVICE "IIsWebService"
  882. #define IIS_CLASS_WEB_SERVER "IIsWebServer"
  883. #define IIS_CLASS_WEB_INFO "IIsWebInfo"
  884. #define IIS_CLASS_WEB_DIR "IIsWebDirectory"
  885. #define IIS_CLASS_WEB_VDIR "IIsWebVirtualDir"
  886. #define IIS_CLASS_WEB_FILE "IIsWebFile"
  887. #define IIS_CLASS_FTP_SERVICE "IIsFtpService"
  888. #define IIS_CLASS_FTP_SERVER "IIsFtpServer"
  889. #define IIS_CLASS_FTP_INFO "IIsFtpInfo"
  890. #define IIS_CLASS_FTP_VDIR "IIsFtpVirtualDir"
  891. #define IIS_CLASS_FILTERS "IIsFilters"
  892. #define IIS_CLASS_FILTER "IIsFilter"
  893. #define IIS_CLASS_LOG_MODULES "IIsLogModules"
  894. #define IIS_CLASS_LOG_MODULE "IIsLogModule"
  895. #define IIS_CLASS_MIMEMAP "IIsMimeMap"
  896. #define IIS_CLASS_CERTMAPPER "IIsCertMapper"
  897. #define IIS_CLASS_COMPRESS_SCHEMES "IIsCompressionSchemes"
  898. #define IIS_CLASS_COMPRESS_SCHEME "IIsCompressionScheme"
  899. #define IIS_CLASS_COMPUTER_W L"IIsComputer"
  900. #define IIS_CLASS_WEB_SERVICE_W L"IIsWebService"
  901. #define IIS_CLASS_WEB_SERVER_W L"IIsWebServer"
  902. #define IIS_CLASS_WEB_INFO_W L"IIsWebInfo"
  903. #define IIS_CLASS_WEB_DIR_W L"IIsWebDirectory"
  904. #define IIS_CLASS_WEB_VDIR_W L"IIsWebVirtualDir"
  905. #define IIS_CLASS_WEB_FILE_W L"IIsWebFile"
  906. #define IIS_CLASS_FTP_SERVICE_W L"IIsFtpService"
  907. #define IIS_CLASS_FTP_SERVER_W L"IIsFtpServer"
  908. #define IIS_CLASS_FTP_INFO_W L"IIsFtpInfo"
  909. #define IIS_CLASS_FTP_VDIR_W L"IIsFtpVirtualDir"
  910. #define IIS_CLASS_FILTERS_W L"IIsFilters"
  911. #define IIS_CLASS_FILTER_W L"IIsFilter"
  912. #define IIS_CLASS_LOG_MODULES_W L"IIsLogModules"
  913. #define IIS_CLASS_LOG_MODULE_W L"IIsLogModule"
  914. #define IIS_CLASS_MIMEMAP_W L"IIsMimeMap"
  915. #define IIS_CLASS_CERTMAPPER_W L"IIsCertMapper"
  916. #define IIS_CLASS_COMPRESS_SCHEMES_W L"IIsCompressionSchemes"
  917. #define IIS_CLASS_COMPRESS_SCHEME_W L"IIsCompressionScheme"
  918. #endif // _IISCNFG_H_