JwaIisCnfg.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:72k
源码类别:

Windows编程

开发平台:

Delphi

  1. {******************************************************************************}
  2. {                                                                       }
  3. {  IIS Public Metdata IDs API interface Unit for Object Pascal                 }
  4. {                                                                       }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
  6. { Corporation. All Rights Reserved.                                            }
  7. {                 }
  8. { The original file is: iiscnfg.h, released November 2002. The original Pascal }
  9. { code is: IisCnfg.pas, released March 2002. The initial developer of the      }
  10. { Pascal code is Marcel van Brakel (brakelm@chello.nl).                        }
  11. {                                                                              }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
  13. { Marcel van Brakel. All Rights Reserved.                                      }
  14. {                 }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
  16. {                }
  17. { You may retrieve the latest version of this file at the Project JEDI home    }
  18. { page, located at http://delphi-jedi.org or my personal homepage located at   }
  19. { http://members.chello.nl/m.vanbrakel2                                        }
  20. {                }
  21. { The contents of this file are used with permission, subject to the Mozilla   }
  22. { Public License Version 1.1 (the "License"); you may not use this file except }
  23. { in compliance with the License. You may obtain a copy of the License at      }
  24. { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
  25. {                                                                              }
  26. { Software distributed under the License is distributed on an "AS IS" basis,   }
  27. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  28. { the specific language governing rights and limitations under the License.    }
  29. {                                                                              }
  30. { Alternatively, the contents of this file may be used under the terms of the  }
  31. { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
  32. { provisions of the LGPL License are applicable instead of those above.        }
  33. { If you wish to allow use of your version of this file only under the terms   }
  34. { of the LGPL License and not to allow others to use your version of this file }
  35. { under the MPL, indicate your decision by deleting  the provisions above and  }
  36. { replace  them with the notice and other provisions required by the LGPL      }
  37. { License.  If you do not delete the provisions above, a recipient may use     }
  38. { your version of this file under either the MPL or the LGPL License.          }
  39. {                 }
  40. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  41. {                 }
  42. {******************************************************************************}
  43. unit JwaIisCnfg;
  44. {$WEAKPACKAGEUNIT}
  45. {$HPPEMIT ''}
  46. {$HPPEMIT '#include "iiscnfg.h"'}
  47. {$HPPEMIT ''}
  48. interface
  49. uses
  50.   JwaWinType;
  51. //
  52. // Paths
  53. //
  54. const
  55.   IIS_MD_LOCAL_MACHINE_PATH = 'LM';
  56.   {$EXTERNALSYM IIS_MD_LOCAL_MACHINE_PATH}
  57. //
  58. // Name of the default publishing root under an instance
  59. //
  60.   IIS_MD_INSTANCE_ROOT = 'Root';
  61.   {$EXTERNALSYM IIS_MD_INSTANCE_ROOT}
  62. //
  63. //  ISAPI Filters are kept in a list under the instances and the service (for
  64. //  global filters) in the following format:
  65. //
  66. //  LM/W3Svc/<Instance>/Filters
  67. //      MD_FILTER_LOAD_ORDER  "Filter1, Filter2, Filter3"
  68. //
  69. //  LM/W3Svc/<Instance>/Filters/Filter1
  70. //      MD_FILTER_IMAGE_PATH  "d:inetsrvmyfilter.dll"
  71. //
  72. //  LM/W3Svc/<Instance>/Filters/Filter2
  73. //      MD_FILTER_IMAGE_PATH  "d:inetsrvotherfilter.dll"
  74. //
  75.   IIS_MD_ISAPI_FILTERS = '/Filters';
  76.   {$EXTERNALSYM IIS_MD_ISAPI_FILTERS}
  77. //
  78. // Path below each service to the key that publishes service information
  79. //
  80.   IIS_MD_SVC_INFO_PATH = 'Info';
  81.   {$EXTERNALSYM IIS_MD_SVC_INFO_PATH}
  82. //
  83. // ADSI schema properties path
  84. //
  85.   IIS_MD_ADSI_SCHEMA_PATH_A = '/Schema';
  86.   {$EXTERNALSYM IIS_MD_ADSI_SCHEMA_PATH_A}
  87.   IIS_MD_ADSI_SCHEMA_PATH_W = WideString('/Schema');
  88.   {$EXTERNALSYM IIS_MD_ADSI_SCHEMA_PATH_W}
  89.   IIS_MD_ADSI_METAID_BEGIN  = 130000;
  90.   {$EXTERNALSYM IIS_MD_ADSI_METAID_BEGIN}
  91. //
  92. // user types
  93. //
  94. // There are two user types:
  95. //
  96. //   Server configuration - All the properties for configuring the server that
  97. //      are not applicable to files and directories - such as Port, Host name,
  98. //      Server comment, Connection timeout etc.
  99. //
  100. //  File/Dir configuration - All the properties that can be configured down to
  101. //      the files and directories - such as Access permissions (Read, Write etc),
  102. //      Extension mapping, IP Security etc.
  103. //
  104.   IIS_MD_UT_SERVER       = 1; // Server configuration parameters
  105.   {$EXTERNALSYM IIS_MD_UT_SERVER}
  106.   IIS_MD_UT_FILE         = 2; // File/Dir inheritable properties
  107.   {$EXTERNALSYM IIS_MD_UT_FILE}
  108.   IIS_MD_UT_WAM          = 100; // Web Application configuration parameters
  109.   {$EXTERNALSYM IIS_MD_UT_WAM}
  110.   ASP_MD_UT_APP          = 101; // ASP application configuration parameters
  111.   {$EXTERNALSYM ASP_MD_UT_APP}
  112.   IIS_MD_UT_END_RESERVED = 2000; // All user types below this are reserved for IIS services
  113.   {$EXTERNALSYM IIS_MD_UT_END_RESERVED}
  114. //
  115. //  Metabase property IDs must be unique.  This table defines reserved ranges
  116. //
  117.   IIS_MD_ID_BEGIN_RESERVED    = $00000001; // IIS reserved range
  118.   {$EXTERNALSYM IIS_MD_ID_BEGIN_RESERVED}
  119.   IIS_MD_ID_END_RESERVED      = $00007fff;
  120.   {$EXTERNALSYM IIS_MD_ID_END_RESERVED}
  121.   ASP_MD_ID_BEGIN_RESERVED    = $00007000; // ASP reserved range, subrange of IIS.
  122.   {$EXTERNALSYM ASP_MD_ID_BEGIN_RESERVED}
  123.   ASP_MD_ID_END_RESERVED      = $000074ff;
  124.   {$EXTERNALSYM ASP_MD_ID_END_RESERVED}
  125.   WAM_MD_ID_BEGIN_RESERVED    = $00007500; // ASP reserved range, subrange of IIS.
  126.   {$EXTERNALSYM WAM_MD_ID_BEGIN_RESERVED}
  127.   WAM_MD_ID_END_RESERVED      = $00007fff;
  128.   {$EXTERNALSYM WAM_MD_ID_END_RESERVED}
  129.   FP_MD_ID_BEGIN_RESERVED     = $00008000; // Front page reserved range
  130.   {$EXTERNALSYM FP_MD_ID_BEGIN_RESERVED}
  131.   FP_MD_ID_END_RESERVED       = $00008fff;
  132.   {$EXTERNALSYM FP_MD_ID_END_RESERVED}
  133.   SMTP_MD_ID_BEGIN_RESERVED   = $00009000;
  134.   {$EXTERNALSYM SMTP_MD_ID_BEGIN_RESERVED}
  135.   SMTP_MD_ID_END_RESERVED     = $00009fff;
  136.   {$EXTERNALSYM SMTP_MD_ID_END_RESERVED}
  137.   POP3_MD_ID_BEGIN_RESERVED   = $0000a000;
  138.   {$EXTERNALSYM POP3_MD_ID_BEGIN_RESERVED}
  139.   POP3_MD_ID_END_RESERVED     = $0000afff;
  140.   {$EXTERNALSYM POP3_MD_ID_END_RESERVED}
  141.   NNTP_MD_ID_BEGIN_RESERVED   = $0000b000;
  142.   {$EXTERNALSYM NNTP_MD_ID_BEGIN_RESERVED}
  143.   NNTP_MD_ID_END_RESERVED     = $0000bfff;
  144.   {$EXTERNALSYM NNTP_MD_ID_END_RESERVED}
  145.   IMAP_MD_ID_BEGIN_RESERVED   = $0000c000;
  146.   {$EXTERNALSYM IMAP_MD_ID_BEGIN_RESERVED}
  147.   IMAP_MD_ID_END_RESERVED     = $0000cfff;
  148.   {$EXTERNALSYM IMAP_MD_ID_END_RESERVED}
  149.   MSCS_MD_ID_BEGIN_RESERVED   = $0000d000;
  150.   {$EXTERNALSYM MSCS_MD_ID_BEGIN_RESERVED}
  151.   MSCS_MD_ID_END_RESERVED     = $0000dfff;
  152.   {$EXTERNALSYM MSCS_MD_ID_END_RESERVED}
  153.   APPCTR_MD_ID_BEGIN_RESERVED = $0000e000;
  154.   {$EXTERNALSYM APPCTR_MD_ID_BEGIN_RESERVED}
  155.   APPCTR_MD_ID_END_RESERVED   = $0000efff;
  156.   {$EXTERNALSYM APPCTR_MD_ID_END_RESERVED}
  157.   USER_MD_ID_BASE_RESERVED    = $0000ffff;
  158.   {$EXTERNALSYM USER_MD_ID_BASE_RESERVED}
  159. //
  160. //  General server related attributes - these should be added in the metabase
  161. //  with a user type of IIS_MD_UT_SERVER
  162. //
  163.   IIS_MD_SERVER_BASE = 1000;
  164.   {$EXTERNALSYM IIS_MD_SERVER_BASE}
  165. //
  166. //  These are global to all services and should only be set at
  167. //  the IIS root
  168. //
  169.   MD_MAX_BANDWIDTH         = (IIS_MD_SERVER_BASE+0);
  170.   {$EXTERNALSYM MD_MAX_BANDWIDTH}
  171.   MD_KEY_TYPE              = (IIS_MD_SERVER_BASE+2);
  172.   {$EXTERNALSYM MD_KEY_TYPE}
  173.   MD_MAX_BANDWIDTH_BLOCKED = (IIS_MD_SERVER_BASE+3);
  174.   {$EXTERNALSYM MD_MAX_BANDWIDTH_BLOCKED}
  175.   MD_SCHEMA_METAID         = (IIS_MD_SERVER_BASE+4);
  176.   {$EXTERNALSYM MD_SCHEMA_METAID}
  177. //
  178. //  These properties are applicable to both HTTP and FTP virtual
  179. //  servers
  180. //
  181.   MD_SERVER_COMMAND            = (IIS_MD_SERVER_BASE+12);
  182.   {$EXTERNALSYM MD_SERVER_COMMAND}
  183.   MD_CONNECTION_TIMEOUT        = (IIS_MD_SERVER_BASE+13);
  184.   {$EXTERNALSYM MD_CONNECTION_TIMEOUT}
  185.   MD_MAX_CONNECTIONS           = (IIS_MD_SERVER_BASE+14);
  186.   {$EXTERNALSYM MD_MAX_CONNECTIONS}
  187.   MD_SERVER_COMMENT            = (IIS_MD_SERVER_BASE+15);
  188.   {$EXTERNALSYM MD_SERVER_COMMENT}
  189.   MD_SERVER_STATE              = (IIS_MD_SERVER_BASE+16);
  190.   {$EXTERNALSYM MD_SERVER_STATE}
  191.   MD_SERVER_AUTOSTART          = (IIS_MD_SERVER_BASE+17);
  192.   {$EXTERNALSYM MD_SERVER_AUTOSTART}
  193.   MD_SERVER_SIZE               = (IIS_MD_SERVER_BASE+18);
  194.   {$EXTERNALSYM MD_SERVER_SIZE}
  195.   MD_SERVER_LISTEN_BACKLOG     = (IIS_MD_SERVER_BASE+19);
  196.   {$EXTERNALSYM MD_SERVER_LISTEN_BACKLOG}
  197.   MD_SERVER_LISTEN_TIMEOUT     = (IIS_MD_SERVER_BASE+20);
  198.   {$EXTERNALSYM MD_SERVER_LISTEN_TIMEOUT}
  199.   MD_DOWNLEVEL_ADMIN_INSTANCE  = (IIS_MD_SERVER_BASE+21);
  200.   {$EXTERNALSYM MD_DOWNLEVEL_ADMIN_INSTANCE}
  201.   MD_LEVELS_TO_SCAN            = (IIS_MD_SERVER_BASE+22);
  202.   {$EXTERNALSYM MD_LEVELS_TO_SCAN}
  203.   MD_SERVER_BINDINGS           = (IIS_MD_SERVER_BASE+23);
  204.   {$EXTERNALSYM MD_SERVER_BINDINGS}
  205.   MD_MAX_ENDPOINT_CONNECTIONS  = (IIS_MD_SERVER_BASE+24);
  206.   {$EXTERNALSYM MD_MAX_ENDPOINT_CONNECTIONS}
  207.   MD_SERVER_CONFIGURATION_INFO = (IIS_MD_SERVER_BASE+27);
  208.   {$EXTERNALSYM MD_SERVER_CONFIGURATION_INFO}
  209.   MD_IISADMIN_EXTENSIONS       = (IIS_MD_SERVER_BASE+28);
  210.   {$EXTERNALSYM MD_IISADMIN_EXTENSIONS}
  211.   MD_DISABLE_SOCKET_POOLING    = (IIS_MD_SERVER_BASE+29);
  212.   {$EXTERNALSYM MD_DISABLE_SOCKET_POOLING}
  213.   MD_METADATA_ID_REGISTRATION  = (IIS_MD_SERVER_BASE+30);
  214.   {$EXTERNALSYM MD_METADATA_ID_REGISTRATION}
  215. //
  216. //  These properties are specific to HTTP and belong to the website
  217. //
  218.   IIS_MD_HTTP_BASE = 2000;
  219.   {$EXTERNALSYM IIS_MD_HTTP_BASE}
  220.   MD_SECURE_BINDINGS = (IIS_MD_HTTP_BASE+21);
  221.   {$EXTERNALSYM MD_SECURE_BINDINGS}
  222.   MD_FILTER_LOAD_ORDER   = (IIS_MD_HTTP_BASE+40);
  223.   {$EXTERNALSYM MD_FILTER_LOAD_ORDER}
  224.   MD_FILTER_IMAGE_PATH   = (IIS_MD_HTTP_BASE+41);
  225.   {$EXTERNALSYM MD_FILTER_IMAGE_PATH}
  226.   MD_FILTER_STATE        = (IIS_MD_HTTP_BASE+42);
  227.   {$EXTERNALSYM MD_FILTER_STATE}
  228.   MD_FILTER_ENABLED      = (IIS_MD_HTTP_BASE+43);
  229.   {$EXTERNALSYM MD_FILTER_ENABLED}
  230.   MD_FILTER_FLAGS        = (IIS_MD_HTTP_BASE+44);
  231.   {$EXTERNALSYM MD_FILTER_FLAGS}
  232.   MD_FILTER_DESCRIPTION  = (IIS_MD_HTTP_BASE+45);
  233.   {$EXTERNALSYM MD_FILTER_DESCRIPTION}
  234.   MD_FILTER_ENABLE_CACHE = (IIS_MD_HTTP_BASE+46);
  235.   {$EXTERNALSYM MD_FILTER_ENABLE_CACHE}
  236.   MD_ADV_NOTIFY_PWD_EXP_IN_DAYS = (IIS_MD_HTTP_BASE+63);
  237.   {$EXTERNALSYM MD_ADV_NOTIFY_PWD_EXP_IN_DAYS}
  238.   MD_ADV_CACHE_TTL              = (IIS_MD_HTTP_BASE+64);
  239.   {$EXTERNALSYM MD_ADV_CACHE_TTL}
  240.   MD_NET_LOGON_WKS              = (IIS_MD_HTTP_BASE+65);
  241.   {$EXTERNALSYM MD_NET_LOGON_WKS}
  242.   MD_USE_HOST_NAME              = (IIS_MD_HTTP_BASE+66);
  243.   {$EXTERNALSYM MD_USE_HOST_NAME}
  244.   MD_AUTH_CHANGE_FLAGS          = (IIS_MD_HTTP_BASE+68);
  245.   {$EXTERNALSYM MD_AUTH_CHANGE_FLAGS}
  246.   MD_PROCESS_NTCR_IF_LOGGED_ON = (IIS_MD_HTTP_BASE+70);
  247.   {$EXTERNALSYM MD_PROCESS_NTCR_IF_LOGGED_ON}
  248.   MD_FRONTPAGE_WEB         = (IIS_MD_HTTP_BASE+72);
  249.   {$EXTERNALSYM MD_FRONTPAGE_WEB}
  250.   MD_IN_PROCESS_ISAPI_APPS = (IIS_MD_HTTP_BASE+73);
  251.   {$EXTERNALSYM MD_IN_PROCESS_ISAPI_APPS}
  252.   MD_ALLOW_PATH_INFO_FOR_SCRIPT_MAPPINGS = (IIS_MD_HTTP_BASE+95);
  253.   {$EXTERNALSYM MD_ALLOW_PATH_INFO_FOR_SCRIPT_MAPPINGS}
  254.   MD_APP_FRIENDLY_NAME             = (IIS_MD_HTTP_BASE+102);
  255.   {$EXTERNALSYM MD_APP_FRIENDLY_NAME}
  256.   MD_APP_ROOT                      = (IIS_MD_HTTP_BASE+103);
  257.   {$EXTERNALSYM MD_APP_ROOT}
  258.   MD_APP_ISOLATED                  = (IIS_MD_HTTP_BASE+104);
  259.   {$EXTERNALSYM MD_APP_ISOLATED}
  260.   MD_APP_WAM_CLSID                 = (IIS_MD_HTTP_BASE+105);
  261.   {$EXTERNALSYM MD_APP_WAM_CLSID}
  262.   MD_APP_PACKAGE_ID                = (IIS_MD_HTTP_BASE+106);
  263.   {$EXTERNALSYM MD_APP_PACKAGE_ID}
  264.   MD_APP_PACKAGE_NAME              = (IIS_MD_HTTP_BASE+107);
  265.   {$EXTERNALSYM MD_APP_PACKAGE_NAME}
  266.   MD_APP_OOP_RECOVER_LIMIT         = (IIS_MD_HTTP_BASE+110);
  267.   {$EXTERNALSYM MD_APP_OOP_RECOVER_LIMIT}
  268.   MD_APP_PERIODIC_RESTART_TIME     = (IIS_MD_HTTP_BASE+111);
  269.   {$EXTERNALSYM MD_APP_PERIODIC_RESTART_TIME}
  270.   MD_APP_PERIODIC_RESTART_REQUESTS = (IIS_MD_HTTP_BASE+112);
  271.   {$EXTERNALSYM MD_APP_PERIODIC_RESTART_REQUESTS}
  272.   MD_APP_PERIODIC_RESTART_SCHEDULE = (IIS_MD_HTTP_BASE+113);
  273.   {$EXTERNALSYM MD_APP_PERIODIC_RESTART_SCHEDULE}
  274.   MD_APP_SHUTDOWN_TIME_LIMIT       = (IIS_MD_HTTP_BASE+114);
  275.   {$EXTERNALSYM MD_APP_SHUTDOWN_TIME_LIMIT}
  276.   MD_ADMIN_INSTANCE = (IIS_MD_HTTP_BASE+115);
  277.   {$EXTERNALSYM MD_ADMIN_INSTANCE}
  278. // This is only used by setup & UI
  279.   MD_NOT_DELETABLE = (IIS_MD_HTTP_BASE+116);
  280.   {$EXTERNALSYM MD_NOT_DELETABLE}
  281.   MD_CUSTOM_ERROR_DESC = (IIS_MD_HTTP_BASE+120);
  282.   {$EXTERNALSYM MD_CUSTOM_ERROR_DESC}
  283. //
  284. //  Client Access License parameters
  285. //
  286.   MD_CAL_VC_PER_CONNECT       = (IIS_MD_HTTP_BASE+130);
  287.   {$EXTERNALSYM MD_CAL_VC_PER_CONNECT}
  288.   MD_CAL_AUTH_RESERVE_TIMEOUT = (IIS_MD_HTTP_BASE+131);
  289.   {$EXTERNALSYM MD_CAL_AUTH_RESERVE_TIMEOUT}
  290.   MD_CAL_SSL_RESERVE_TIMEOUT  = (IIS_MD_HTTP_BASE+132);
  291.   {$EXTERNALSYM MD_CAL_SSL_RESERVE_TIMEOUT}
  292.   MD_CAL_W3_ERROR             = (IIS_MD_HTTP_BASE+133);
  293.   {$EXTERNALSYM MD_CAL_W3_ERROR}
  294. //
  295. // CPU Accounting and Throttling Properties
  296. //
  297. //
  298. // The enabled flags are per Application or CGI
  299. //
  300.   MD_CPU_CGI_ENABLED = (IIS_MD_HTTP_BASE+140);
  301.   {$EXTERNALSYM MD_CPU_CGI_ENABLED}
  302.   MD_CPU_APP_ENABLED = (IIS_MD_HTTP_BASE+141);
  303.   {$EXTERNALSYM MD_CPU_APP_ENABLED}
  304. //
  305. // These values are per site
  306. //
  307.   MD_CPU_LIMITS_ENABLED   = (IIS_MD_HTTP_BASE+143);
  308.   {$EXTERNALSYM MD_CPU_LIMITS_ENABLED}
  309.   MD_CPU_RESET_INTERVAL   = (IIS_MD_HTTP_BASE+144);
  310.   {$EXTERNALSYM MD_CPU_RESET_INTERVAL}
  311.   MD_CPU_LOGGING_INTERVAL = (IIS_MD_HTTP_BASE+145);
  312.   {$EXTERNALSYM MD_CPU_LOGGING_INTERVAL}
  313.   MD_CPU_LOGGING_OPTIONS  = (IIS_MD_HTTP_BASE+146);
  314.   {$EXTERNALSYM MD_CPU_LOGGING_OPTIONS}
  315.   MD_CPU_CGI_LIMIT        = (IIS_MD_HTTP_BASE+148);
  316.   {$EXTERNALSYM MD_CPU_CGI_LIMIT}
  317.   MD_CPU_LIMIT_LOGEVENT   = (IIS_MD_HTTP_BASE+149);
  318.   {$EXTERNALSYM MD_CPU_LIMIT_LOGEVENT}
  319.   MD_CPU_LIMIT_PRIORITY   = (IIS_MD_HTTP_BASE+150);
  320.   {$EXTERNALSYM MD_CPU_LIMIT_PRIORITY}
  321.   MD_CPU_LIMIT_PROCSTOP   = (IIS_MD_HTTP_BASE+151);
  322.   {$EXTERNALSYM MD_CPU_LIMIT_PROCSTOP}
  323.   MD_CPU_LIMIT_PAUSE      = (IIS_MD_HTTP_BASE+152);
  324.   {$EXTERNALSYM MD_CPU_LIMIT_PAUSE}
  325. //
  326. // DAV Enabled - Can be set on a per-URL level
  327. //
  328.   MD_DAV_ENABLED = (IIS_MD_HTTP_BASE+153);
  329.   {$EXTERNALSYM MD_DAV_ENABLED}
  330. //
  331. // Valid values for CPU Accounting's MD_CPU_LOGGING_OPTIONS field
  332. //
  333.   MD_CPU_DISABLE_ALL_LOGGING     = $0;
  334.   {$EXTERNALSYM MD_CPU_DISABLE_ALL_LOGGING}
  335.   MD_CPU_ENABLE_ALL_PROC_LOGGING = $1;
  336.   {$EXTERNALSYM MD_CPU_ENABLE_ALL_PROC_LOGGING}
  337.   MD_CPU_ENABLE_CGI_LOGGING      = $2;
  338.   {$EXTERNALSYM MD_CPU_ENABLE_CGI_LOGGING}
  339.   MD_CPU_ENABLE_APP_LOGGING      = $4;
  340.   {$EXTERNALSYM MD_CPU_ENABLE_APP_LOGGING}
  341. //
  342. // Valid values for CPU Accounting's MD_CPU_LOGGING_MASK field
  343. // This defines which fields will be logged
  344. //
  345.   MD_CPU_ENABLE_EVENT            = $01;
  346.   {$EXTERNALSYM MD_CPU_ENABLE_EVENT}
  347.   MD_CPU_ENABLE_PROC_TYPE        = $02;
  348.   {$EXTERNALSYM MD_CPU_ENABLE_PROC_TYPE}
  349.   MD_CPU_ENABLE_USER_TIME        = $04;
  350.   {$EXTERNALSYM MD_CPU_ENABLE_USER_TIME}
  351.   MD_CPU_ENABLE_KERNEL_TIME      = $08;
  352.   {$EXTERNALSYM MD_CPU_ENABLE_KERNEL_TIME}
  353.   MD_CPU_ENABLE_PAGE_FAULTS      = $10;
  354.   {$EXTERNALSYM MD_CPU_ENABLE_PAGE_FAULTS}
  355.   MD_CPU_ENABLE_TOTAL_PROCS      = $20;
  356.   {$EXTERNALSYM MD_CPU_ENABLE_TOTAL_PROCS}
  357.   MD_CPU_ENABLE_ACTIVE_PROCS     = $40;
  358.   {$EXTERNALSYM MD_CPU_ENABLE_ACTIVE_PROCS}
  359.   MD_CPU_ENABLE_TERMINATED_PROCS = $80;
  360.   {$EXTERNALSYM MD_CPU_ENABLE_TERMINATED_PROCS}
  361.   MD_CPU_ENABLE_LOGGING = DWORD($80000000);
  362.   {$EXTERNALSYM MD_CPU_ENABLE_LOGGING}
  363. //
  364. //  Site Server properties
  365. //
  366. //
  367. // Properties to disable/restrict request handlers.
  368. //
  369.   MD_ISAPI_RESTRICTION_LIST         = (IIS_MD_HTTP_BASE+163);
  370.   {$EXTERNALSYM MD_ISAPI_RESTRICTION_LIST}
  371.   MD_CGI_RESTRICTION_LIST           = (IIS_MD_HTTP_BASE+164);
  372.   {$EXTERNALSYM MD_CGI_RESTRICTION_LIST}
  373.   MD_RESTRICTION_LIST_CUSTOM_DESC   = (IIS_MD_HTTP_BASE+165);
  374.   {$EXTERNALSYM MD_RESTRICTION_LIST_CUSTOM_DESC}
  375.   MD_SECURITY_SETUP_REQUIRED        = (IIS_MD_HTTP_BASE+166);
  376.   {$EXTERNALSYM MD_SECURITY_SETUP_REQUIRED}
  377.   MD_APP_DEPENDENCIES               = (IIS_MD_HTTP_BASE+167);
  378.   {$EXTERNALSYM MD_APP_DEPENDENCIES}
  379.   MD_WEB_SVC_EXT_RESTRICTION_LIST   = (IIS_MD_HTTP_BASE+168);
  380.   {$EXTERNALSYM MD_WEB_SVC_EXT_RESTRICTION_LIST}
  381.   MD_MD_SERVER_SS_AUTH_MAPPING = (IIS_MD_HTTP_BASE+200);
  382.   {$EXTERNALSYM MD_MD_SERVER_SS_AUTH_MAPPING}
  383. //
  384. // valid values for MD_CERT_CHECK_MODE
  385. //
  386.   MD_CERT_NO_REVOC_CHECK                  = $00000001;
  387.   {$EXTERNALSYM MD_CERT_NO_REVOC_CHECK}
  388.   MD_CERT_CACHE_RETRIEVAL_ONLY            = $00000002;
  389.   {$EXTERNALSYM MD_CERT_CACHE_RETRIEVAL_ONLY}
  390.   MD_CERT_CHECK_REVOCATION_FRESHNESS_TIME = $00000004;
  391.   {$EXTERNALSYM MD_CERT_CHECK_REVOCATION_FRESHNESS_TIME}
  392.   MD_CERT_NO_USAGE_CHECK                  = $00010000;
  393.   {$EXTERNALSYM MD_CERT_NO_USAGE_CHECK}
  394. //
  395. // HTTP Compression properties.  All are global and unheritable.
  396. //
  397.   MD_HC_COMPRESSION_DIRECTORY       = (IIS_MD_HTTP_BASE+210);
  398.   {$EXTERNALSYM MD_HC_COMPRESSION_DIRECTORY}
  399.   MD_HC_CACHE_CONTROL_HEADER        = (IIS_MD_HTTP_BASE+211);
  400.   {$EXTERNALSYM MD_HC_CACHE_CONTROL_HEADER}
  401.   MD_HC_EXPIRES_HEADER              = (IIS_MD_HTTP_BASE+212);
  402.   {$EXTERNALSYM MD_HC_EXPIRES_HEADER}
  403.   MD_HC_DO_DYNAMIC_COMPRESSION      = (IIS_MD_HTTP_BASE+213);
  404.   {$EXTERNALSYM MD_HC_DO_DYNAMIC_COMPRESSION}
  405.   MD_HC_DO_STATIC_COMPRESSION       = (IIS_MD_HTTP_BASE+214);
  406.   {$EXTERNALSYM MD_HC_DO_STATIC_COMPRESSION}
  407.   MD_HC_DO_ON_DEMAND_COMPRESSION    = (IIS_MD_HTTP_BASE+215);
  408.   {$EXTERNALSYM MD_HC_DO_ON_DEMAND_COMPRESSION}
  409.   MD_HC_DO_DISK_SPACE_LIMITING      = (IIS_MD_HTTP_BASE+216);
  410.   {$EXTERNALSYM MD_HC_DO_DISK_SPACE_LIMITING}
  411.   MD_HC_NO_COMPRESSION_FOR_HTTP_10  = (IIS_MD_HTTP_BASE+217);
  412.   {$EXTERNALSYM MD_HC_NO_COMPRESSION_FOR_HTTP_10}
  413.   MD_HC_NO_COMPRESSION_FOR_PROXIES  = (IIS_MD_HTTP_BASE+218);
  414.   {$EXTERNALSYM MD_HC_NO_COMPRESSION_FOR_PROXIES}
  415.   MD_HC_NO_COMPRESSION_FOR_RANGE    = (IIS_MD_HTTP_BASE+219);
  416.   {$EXTERNALSYM MD_HC_NO_COMPRESSION_FOR_RANGE}
  417.   MD_HC_SEND_CACHE_HEADERS          = (IIS_MD_HTTP_BASE+220);
  418.   {$EXTERNALSYM MD_HC_SEND_CACHE_HEADERS}
  419.   MD_HC_MAX_DISK_SPACE_USAGE        = (IIS_MD_HTTP_BASE+221);
  420.   {$EXTERNALSYM MD_HC_MAX_DISK_SPACE_USAGE}
  421.   MD_HC_IO_BUFFER_SIZE              = (IIS_MD_HTTP_BASE+222);
  422.   {$EXTERNALSYM MD_HC_IO_BUFFER_SIZE}
  423.   MD_HC_COMPRESSION_BUFFER_SIZE     = (IIS_MD_HTTP_BASE+223);
  424.   {$EXTERNALSYM MD_HC_COMPRESSION_BUFFER_SIZE}
  425.   MD_HC_MAX_QUEUE_LENGTH            = (IIS_MD_HTTP_BASE+224);
  426.   {$EXTERNALSYM MD_HC_MAX_QUEUE_LENGTH}
  427.   MD_HC_FILES_DELETED_PER_DISK_FREE = (IIS_MD_HTTP_BASE+225);
  428.   {$EXTERNALSYM MD_HC_FILES_DELETED_PER_DISK_FREE}
  429.   MD_HC_MIN_FILE_SIZE_FOR_COMP      = (IIS_MD_HTTP_BASE+226);
  430.   {$EXTERNALSYM MD_HC_MIN_FILE_SIZE_FOR_COMP}
  431.   MD_HC_COMPRESSION_DLL           = (IIS_MD_HTTP_BASE+237);
  432.   {$EXTERNALSYM MD_HC_COMPRESSION_DLL}
  433.   MD_HC_FILE_EXTENSIONS           = (IIS_MD_HTTP_BASE+238);
  434.   {$EXTERNALSYM MD_HC_FILE_EXTENSIONS}
  435.   //MD_HC_MIME_TYPE                 = (IIS_MD_HTTP_BASE+239);
  436.   //{$EXTERNALSYM MD_HC_MIME_TYPE}
  437.   MD_HC_PRIORITY                  = (IIS_MD_HTTP_BASE+240);
  438.   {$EXTERNALSYM MD_HC_PRIORITY}
  439.   MD_HC_DYNAMIC_COMPRESSION_LEVEL = (IIS_MD_HTTP_BASE+241);
  440.   {$EXTERNALSYM MD_HC_DYNAMIC_COMPRESSION_LEVEL}
  441.   MD_HC_ON_DEMAND_COMP_LEVEL      = (IIS_MD_HTTP_BASE+242);
  442.   {$EXTERNALSYM MD_HC_ON_DEMAND_COMP_LEVEL}
  443.   MD_HC_CREATE_FLAGS              = (IIS_MD_HTTP_BASE+243);
  444.   {$EXTERNALSYM MD_HC_CREATE_FLAGS}
  445.   MD_HC_SCRIPT_FILE_EXTENSIONS    = (IIS_MD_HTTP_BASE+244);
  446.   {$EXTERNALSYM MD_HC_SCRIPT_FILE_EXTENSIONS}
  447.   MD_HC_DO_NAMESPACE_DYNAMIC_COMPRESSION = (IIS_MD_HTTP_BASE+255);
  448.   {$EXTERNALSYM MD_HC_DO_NAMESPACE_DYNAMIC_COMPRESSION}
  449.   MD_HC_DO_NAMESPACE_STATIC_COMPRESSION  = (IIS_MD_HTTP_BASE+256);
  450.   {$EXTERNALSYM MD_HC_DO_NAMESPACE_STATIC_COMPRESSION}
  451. //
  452. // Generic property indicating a failure status code - Can be used under
  453. // any component that can fail (virtual directory, filters, applications etc)
  454. //
  455.   MD_WIN32_ERROR = (IIS_MD_SERVER_BASE+99);
  456.   {$EXTERNALSYM MD_WIN32_ERROR}
  457. //
  458. // Virtual root properties - note MD_ACCESS_PERM is also generally set at
  459. // the virtual directory.  These are used for both HTTP and FTP
  460. //
  461.   IIS_MD_VR_BASE = 3000;
  462.   {$EXTERNALSYM IIS_MD_VR_BASE}
  463.   MD_VR_PATH             = (IIS_MD_VR_BASE+1);
  464.   {$EXTERNALSYM MD_VR_PATH}
  465.   MD_VR_USERNAME         = (IIS_MD_VR_BASE+2);
  466.   {$EXTERNALSYM MD_VR_USERNAME}
  467.   MD_VR_PASSWORD         = (IIS_MD_VR_BASE+3);
  468.   {$EXTERNALSYM MD_VR_PASSWORD}
  469.   MD_VR_PASSTHROUGH      = (IIS_MD_VR_BASE+6);
  470.   {$EXTERNALSYM MD_VR_PASSTHROUGH}
  471.   MD_VR_NO_CACHE         = (IIS_MD_VR_BASE+7);
  472.   {$EXTERNALSYM MD_VR_NO_CACHE}
  473.   //MD_VR_IGNORE_TRANSLATE = (IIS_MD_VR_BASE+8);
  474.   //{$EXTERNALSYM MD_VR_IGNORE_TRANSLATE}
  475. //
  476. //  Logging related attributes
  477. //
  478.   IIS_MD_LOG_BASE = 4000;
  479.   {$EXTERNALSYM IIS_MD_LOG_BASE}
  480.   MD_LOG_TYPE              = (IIS_MD_LOG_BASE+0);
  481.   {$EXTERNALSYM MD_LOG_TYPE}
  482.   MD_LOGFILE_DIRECTORY     = (IIS_MD_LOG_BASE+1);
  483.   {$EXTERNALSYM MD_LOGFILE_DIRECTORY}
  484.   MD_LOG_UNUSED1           = (IIS_MD_LOG_BASE+2);
  485.   {$EXTERNALSYM MD_LOG_UNUSED1}
  486.   MD_LOGFILE_PERIOD        = (IIS_MD_LOG_BASE+3);
  487.   {$EXTERNALSYM MD_LOGFILE_PERIOD}
  488.   MD_LOGFILE_TRUNCATE_SIZE = (IIS_MD_LOG_BASE+4);
  489.   {$EXTERNALSYM MD_LOGFILE_TRUNCATE_SIZE}
  490.   MD_LOG_PLUGIN_MOD_ID     = (IIS_MD_LOG_BASE+5);
  491.   {$EXTERNALSYM MD_LOG_PLUGIN_MOD_ID}
  492.   MD_LOG_PLUGIN_UI_ID      = (IIS_MD_LOG_BASE+6);
  493.   {$EXTERNALSYM MD_LOG_PLUGIN_UI_ID}
  494.   MD_LOGSQL_DATA_SOURCES   = (IIS_MD_LOG_BASE+7);
  495.   {$EXTERNALSYM MD_LOGSQL_DATA_SOURCES}
  496.   MD_LOGSQL_TABLE_NAME     = (IIS_MD_LOG_BASE+8);
  497.   {$EXTERNALSYM MD_LOGSQL_TABLE_NAME}
  498.   MD_LOGSQL_USER_NAME      = (IIS_MD_LOG_BASE+9);
  499.   {$EXTERNALSYM MD_LOGSQL_USER_NAME}
  500.   MD_LOGSQL_PASSWORD       = (IIS_MD_LOG_BASE+10);
  501.   {$EXTERNALSYM MD_LOGSQL_PASSWORD}
  502.   MD_LOG_PLUGIN_ORDER      = (IIS_MD_LOG_BASE+11);
  503.   {$EXTERNALSYM MD_LOG_PLUGIN_ORDER}
  504.   MD_LOG_PLUGINS_AVAILABLE = (IIS_MD_LOG_BASE+12);
  505.   {$EXTERNALSYM MD_LOG_PLUGINS_AVAILABLE}
  506.   MD_LOGEXT_FIELD_MASK     = (IIS_MD_LOG_BASE+13);
  507.   {$EXTERNALSYM MD_LOGEXT_FIELD_MASK}
  508.   MD_LOGEXT_FIELD_MASK2    = (IIS_MD_LOG_BASE+14);
  509.   {$EXTERNALSYM MD_LOGEXT_FIELD_MASK2}
  510. //
  511. // Allow W3C logging file naming and rollover based on Local Time
  512. //
  513.   MD_LOGFILE_LOCALTIME_ROLLOVER = (IIS_MD_LOG_BASE+15);
  514.   {$EXTERNALSYM MD_LOGFILE_LOCALTIME_ROLLOVER}
  515.   IIS_MD_LOG_LAST = MD_LOGFILE_LOCALTIME_ROLLOVER;
  516.   {$EXTERNALSYM IIS_MD_LOG_LAST}
  517. //
  518. // Global Flag to denote that IIS will generate one centralized
  519. // binary log file rather than a separate file per web site
  520. //
  521.   MD_GLOBAL_BINARY_LOGGING_ENABLED = (IIS_MD_LOG_BASE+16);
  522.   {$EXTERNALSYM MD_GLOBAL_BINARY_LOGGING_ENABLED}
  523. //
  524. // Log type
  525. //
  526.   MD_LOG_TYPE_DISABLED = 0;
  527.   {$EXTERNALSYM MD_LOG_TYPE_DISABLED}
  528.   MD_LOG_TYPE_ENABLED  = 1;
  529.   {$EXTERNALSYM MD_LOG_TYPE_ENABLED}
  530. //
  531. // LOGGING values
  532. //
  533.   MD_LOGFILE_PERIOD_NONE    = 0;
  534.   {$EXTERNALSYM MD_LOGFILE_PERIOD_NONE}
  535.   MD_LOGFILE_PERIOD_MAXSIZE = 0;
  536.   {$EXTERNALSYM MD_LOGFILE_PERIOD_MAXSIZE}
  537.   MD_LOGFILE_PERIOD_DAILY   = 1;
  538.   {$EXTERNALSYM MD_LOGFILE_PERIOD_DAILY}
  539.   MD_LOGFILE_PERIOD_WEEKLY  = 2;
  540.   {$EXTERNALSYM MD_LOGFILE_PERIOD_WEEKLY}
  541.   MD_LOGFILE_PERIOD_MONTHLY = 3;
  542.   {$EXTERNALSYM MD_LOGFILE_PERIOD_MONTHLY}
  543.   MD_LOGFILE_PERIOD_HOURLY  = 4;
  544.   {$EXTERNALSYM MD_LOGFILE_PERIOD_HOURLY}
  545. //
  546. // Field masks for extended logging
  547. // Fields are logged in order of increasing mask value
  548. //
  549.   MD_EXTLOG_DATE             = $00000001;
  550.   {$EXTERNALSYM MD_EXTLOG_DATE}
  551.   MD_EXTLOG_TIME             = $00000002;
  552.   {$EXTERNALSYM MD_EXTLOG_TIME}
  553.   MD_EXTLOG_CLIENT_IP        = $00000004;
  554.   {$EXTERNALSYM MD_EXTLOG_CLIENT_IP}
  555.   MD_EXTLOG_USERNAME         = $00000008;
  556.   {$EXTERNALSYM MD_EXTLOG_USERNAME}
  557.   MD_EXTLOG_SITE_NAME        = $00000010;
  558.   {$EXTERNALSYM MD_EXTLOG_SITE_NAME}
  559.   MD_EXTLOG_COMPUTER_NAME    = $00000020;
  560.   {$EXTERNALSYM MD_EXTLOG_COMPUTER_NAME}
  561.   MD_EXTLOG_SERVER_IP        = $00000040;
  562.   {$EXTERNALSYM MD_EXTLOG_SERVER_IP}
  563.   MD_EXTLOG_METHOD           = $00000080;
  564.   {$EXTERNALSYM MD_EXTLOG_METHOD}
  565.   MD_EXTLOG_URI_STEM         = $00000100;
  566.   {$EXTERNALSYM MD_EXTLOG_URI_STEM}
  567.   MD_EXTLOG_URI_QUERY        = $00000200;
  568.   {$EXTERNALSYM MD_EXTLOG_URI_QUERY}
  569.   MD_EXTLOG_HTTP_STATUS      = $00000400;
  570.   {$EXTERNALSYM MD_EXTLOG_HTTP_STATUS}
  571.   MD_EXTLOG_WIN32_STATUS     = $00000800;
  572.   {$EXTERNALSYM MD_EXTLOG_WIN32_STATUS}
  573.   MD_EXTLOG_BYTES_SENT       = $00001000;
  574.   {$EXTERNALSYM MD_EXTLOG_BYTES_SENT}
  575.   MD_EXTLOG_BYTES_RECV       = $00002000;
  576.   {$EXTERNALSYM MD_EXTLOG_BYTES_RECV}
  577.   MD_EXTLOG_TIME_TAKEN       = $00004000;
  578.   {$EXTERNALSYM MD_EXTLOG_TIME_TAKEN}
  579.   MD_EXTLOG_SERVER_PORT      = $00008000;
  580.   {$EXTERNALSYM MD_EXTLOG_SERVER_PORT}
  581.   MD_EXTLOG_USER_AGENT       = $00010000;
  582.   {$EXTERNALSYM MD_EXTLOG_USER_AGENT}
  583.   MD_EXTLOG_COOKIE           = $00020000;
  584.   {$EXTERNALSYM MD_EXTLOG_COOKIE}
  585.   MD_EXTLOG_REFERER          = $00040000;
  586.   {$EXTERNALSYM MD_EXTLOG_REFERER}
  587.   MD_EXTLOG_PROTOCOL_VERSION = $00080000;
  588.   {$EXTERNALSYM MD_EXTLOG_PROTOCOL_VERSION}
  589.   MD_EXTLOG_HOST             = $00100000;
  590.   {$EXTERNALSYM MD_EXTLOG_HOST}
  591.   MD_EXTLOG_HTTP_SUB_STATUS  = $00200000;
  592.   {$EXTERNALSYM MD_EXTLOG_HTTP_SUB_STATUS}
  593.   MD_DEFAULT_EXTLOG_FIELDS = (MD_EXTLOG_CLIENT_IP or MD_EXTLOG_TIME or MD_EXTLOG_METHOD or  MD_EXTLOG_URI_STEM or MD_EXTLOG_HTTP_STATUS);
  594.   {$EXTERNALSYM MD_DEFAULT_EXTLOG_FIELDS}
  595. //
  596. // Custom Logging related attributes
  597. //
  598.   IIS_MD_LOGCUSTOM_BASE = 4500;
  599.   {$EXTERNALSYM IIS_MD_LOGCUSTOM_BASE}
  600. //
  601. // Custom Logging configuration attributes
  602. //
  603.   MD_LOGCUSTOM_PROPERTY_NAME     = (IIS_MD_LOGCUSTOM_BASE+1);
  604.   {$EXTERNALSYM MD_LOGCUSTOM_PROPERTY_NAME}
  605.   MD_LOGCUSTOM_PROPERTY_HEADER   = (IIS_MD_LOGCUSTOM_BASE+2);
  606.   {$EXTERNALSYM MD_LOGCUSTOM_PROPERTY_HEADER}
  607.   MD_LOGCUSTOM_PROPERTY_ID       = (IIS_MD_LOGCUSTOM_BASE+3);
  608.   {$EXTERNALSYM MD_LOGCUSTOM_PROPERTY_ID}
  609.   MD_LOGCUSTOM_PROPERTY_MASK     = (IIS_MD_LOGCUSTOM_BASE+4);
  610.   {$EXTERNALSYM MD_LOGCUSTOM_PROPERTY_MASK}
  611.   MD_LOGCUSTOM_PROPERTY_DATATYPE = (IIS_MD_LOGCUSTOM_BASE+5);
  612.   {$EXTERNALSYM MD_LOGCUSTOM_PROPERTY_DATATYPE}
  613.   MD_LOGCUSTOM_SERVICES_STRING   = (IIS_MD_LOGCUSTOM_BASE+6); // MultiSZ List of services that the property is applicable to.
  614.   {$EXTERNALSYM MD_LOGCUSTOM_SERVICES_STRING}
  615.   MD_CPU_LOGGING_MASK            = (IIS_MD_LOGCUSTOM_BASE+7);
  616.   {$EXTERNALSYM MD_CPU_LOGGING_MASK}
  617.   MD_LOGCUSTOM_PROPERTY_NODE_ID  = (IIS_MD_LOGCUSTOM_BASE+8);
  618.   {$EXTERNALSYM MD_LOGCUSTOM_PROPERTY_NODE_ID}
  619. //
  620. // The values for MD_CPU_LOGGING_MASK are defined above.
  621. // See MD_CPU_ENABLE_EVENT, etc.
  622. //
  623.   IIS_MD_LOGCUSTOM_LAST = MD_CPU_LOGGING_MASK;
  624.   {$EXTERNALSYM IIS_MD_LOGCUSTOM_LAST}
  625. //
  626. // Valid values for Custom Logging's MD_LOGCUSTOM_PROPERTY_DATATYPE field
  627. //
  628.   MD_LOGCUSTOM_DATATYPE_INT    = 0;
  629.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_INT}
  630.   MD_LOGCUSTOM_DATATYPE_UINT   = 1;
  631.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_UINT}
  632.   MD_LOGCUSTOM_DATATYPE_LONG   = 2;
  633.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_LONG}
  634.   MD_LOGCUSTOM_DATATYPE_ULONG  = 3;
  635.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_ULONG}
  636.   MD_LOGCUSTOM_DATATYPE_FLOAT  = 4;
  637.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_FLOAT}
  638.   MD_LOGCUSTOM_DATATYPE_DOUBLE = 5;
  639.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_DOUBLE}
  640.   MD_LOGCUSTOM_DATATYPE_LPSTR  = 6;
  641.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_LPSTR}
  642.   MD_LOGCUSTOM_DATATYPE_LPWSTR = 7;
  643.   {$EXTERNALSYM MD_LOGCUSTOM_DATATYPE_LPWSTR}
  644. //
  645. //  ISAPI Filter Notification Flags
  646. //
  647.   MD_NOTIFY_SECURE_PORT    = $00000001;
  648.   {$EXTERNALSYM MD_NOTIFY_SECURE_PORT}
  649.   MD_NOTIFY_NONSECURE_PORT = $00000002;
  650.   {$EXTERNALSYM MD_NOTIFY_NONSECURE_PORT}
  651.   MD_NOTIFY_READ_RAW_DATA      = $00008000;
  652.   {$EXTERNALSYM MD_NOTIFY_READ_RAW_DATA}
  653.   MD_NOTIFY_PREPROC_HEADERS    = $00004000;
  654.   {$EXTERNALSYM MD_NOTIFY_PREPROC_HEADERS}
  655.   MD_NOTIFY_AUTHENTICATION     = $00002000;
  656.   {$EXTERNALSYM MD_NOTIFY_AUTHENTICATION}
  657.   MD_NOTIFY_URL_MAP            = $00001000;
  658.   {$EXTERNALSYM MD_NOTIFY_URL_MAP}
  659.   MD_NOTIFY_ACCESS_DENIED      = $00000800;
  660.   {$EXTERNALSYM MD_NOTIFY_ACCESS_DENIED}
  661.   MD_NOTIFY_SEND_RESPONSE      = $00000040;
  662.   {$EXTERNALSYM MD_NOTIFY_SEND_RESPONSE}
  663.   MD_NOTIFY_SEND_RAW_DATA      = $00000400;
  664.   {$EXTERNALSYM MD_NOTIFY_SEND_RAW_DATA}
  665.   MD_NOTIFY_LOG                = $00000200;
  666.   {$EXTERNALSYM MD_NOTIFY_LOG}
  667.   MD_NOTIFY_END_OF_REQUEST     = $00000080;
  668.   {$EXTERNALSYM MD_NOTIFY_END_OF_REQUEST}
  669.   MD_NOTIFY_END_OF_NET_SESSION = $00000100;
  670.   {$EXTERNALSYM MD_NOTIFY_END_OF_NET_SESSION}
  671.   MD_NOTIFY_AUTH_COMPLETE      = $04000000;
  672.   {$EXTERNALSYM MD_NOTIFY_AUTH_COMPLETE}
  673. //
  674. //  ISAPI Filter ordering flags
  675. //
  676.   MD_NOTIFY_ORDER_HIGH    = $00080000;
  677.   {$EXTERNALSYM MD_NOTIFY_ORDER_HIGH}
  678.   MD_NOTIFY_ORDER_MEDIUM  = $00040000;
  679.   {$EXTERNALSYM MD_NOTIFY_ORDER_MEDIUM}
  680.   MD_NOTIFY_ORDER_LOW     = $00020000;
  681.   {$EXTERNALSYM MD_NOTIFY_ORDER_LOW}
  682.   MD_NOTIFY_ORDER_DEFAULT = MD_NOTIFY_ORDER_LOW;
  683.   {$EXTERNALSYM MD_NOTIFY_ORDER_DEFAULT}
  684.   MD_NOTIFY_ORDER_MASK = (MD_NOTIFY_ORDER_HIGH or MD_NOTIFY_ORDER_MEDIUM or MD_NOTIFY_ORDER_LOW);
  685.   {$EXTERNALSYM MD_NOTIFY_ORDER_MASK}
  686. //
  687. //  These are FTP specific properties
  688. //
  689.   IIS_MD_FTP_BASE = 5000;
  690.   {$EXTERNALSYM IIS_MD_FTP_BASE}
  691.   MD_EXIT_MESSAGE            = (IIS_MD_FTP_BASE+1);
  692.   {$EXTERNALSYM MD_EXIT_MESSAGE}
  693.   MD_GREETING_MESSAGE        = (IIS_MD_FTP_BASE+2);
  694.   {$EXTERNALSYM MD_GREETING_MESSAGE}
  695.   MD_MAX_CLIENTS_MESSAGE     = (IIS_MD_FTP_BASE+3);
  696.   {$EXTERNALSYM MD_MAX_CLIENTS_MESSAGE}
  697.   MD_MSDOS_DIR_OUTPUT        = (IIS_MD_FTP_BASE+4);
  698.   {$EXTERNALSYM MD_MSDOS_DIR_OUTPUT}
  699.   MD_ALLOW_ANONYMOUS         = (IIS_MD_FTP_BASE+5);
  700.   {$EXTERNALSYM MD_ALLOW_ANONYMOUS}
  701.   MD_ANONYMOUS_ONLY          = (IIS_MD_FTP_BASE+6);
  702.   {$EXTERNALSYM MD_ANONYMOUS_ONLY}
  703.   MD_LOG_ANONYMOUS           = (IIS_MD_FTP_BASE+7);
  704.   {$EXTERNALSYM MD_LOG_ANONYMOUS}
  705.   MD_LOG_NONANONYMOUS        = (IIS_MD_FTP_BASE+8);
  706.   {$EXTERNALSYM MD_LOG_NONANONYMOUS}
  707.   MD_ALLOW_REPLACE_ON_RENAME = (IIS_MD_FTP_BASE+9);
  708.   {$EXTERNALSYM MD_ALLOW_REPLACE_ON_RENAME}
  709.   MD_SHOW_4_DIGIT_YEAR       = (IIS_MD_FTP_BASE+10);
  710.   {$EXTERNALSYM MD_SHOW_4_DIGIT_YEAR}
  711.   MD_BANNER_MESSAGE          = (IIS_MD_FTP_BASE+11);
  712.   {$EXTERNALSYM MD_BANNER_MESSAGE}
  713.   MD_USER_ISOLATION          = (IIS_MD_FTP_BASE+12);
  714.   {$EXTERNALSYM MD_USER_ISOLATION}
  715.   MD_FTP_LOG_IN_UTF_8        = (IIS_MD_FTP_BASE+13);
  716.   {$EXTERNALSYM MD_FTP_LOG_IN_UTF_8}
  717.   MD_AD_CONNECTIONS_USERNAME = (IIS_MD_FTP_BASE+14);
  718.   {$EXTERNALSYM MD_AD_CONNECTIONS_USERNAME}
  719.   MD_AD_CONNECTIONS_PASSWORD = (IIS_MD_FTP_BASE+15);
  720.   {$EXTERNALSYM MD_AD_CONNECTIONS_PASSWORD}
  721.   MD_PASSIVE_PORT_RANGE      = (IIS_MD_FTP_BASE+16);
  722.   {$EXTERNALSYM MD_PASSIVE_PORT_RANGE}
  723. //
  724. //  These are SSL specific properties
  725. //
  726.   IIS_MD_SSL_BASE = 5500;
  727.   {$EXTERNALSYM IIS_MD_SSL_BASE}
  728.   MD_SSL_PUBLIC_KEY   = (IIS_MD_SSL_BASE+0);
  729.   {$EXTERNALSYM MD_SSL_PUBLIC_KEY}
  730.   MD_SSL_PRIVATE_KEY  = (IIS_MD_SSL_BASE+1);
  731.   {$EXTERNALSYM MD_SSL_PRIVATE_KEY}
  732.   MD_SSL_KEY_PASSWORD = (IIS_MD_SSL_BASE+2);
  733.   {$EXTERNALSYM MD_SSL_KEY_PASSWORD}
  734.   MD_SSL_KEY_REQUEST  = (IIS_MD_SSL_BASE+3);
  735.   {$EXTERNALSYM MD_SSL_KEY_REQUEST}
  736. //
  737. // These are server certificate properties
  738. //
  739. //
  740. // These are Certificate Trust List properties
  741. //
  742. //
  743. // Metabase property that defines whether to use DS mapper or not
  744. //
  745.   MD_SSL_USE_DS_MAPPER = (IIS_MD_SSL_BASE+19);
  746.   {$EXTERNALSYM MD_SSL_USE_DS_MAPPER}
  747. //
  748. // Metabase properties that are used by the CertWiz ActiveX control, that
  749. // is used for the Certificate/CTL UI management tool
  750. //
  751. //
  752. // Metabase properties used for Fortezza certificates
  753. //
  754. //
  755. // Metabase properties that are used by the CertWiz ActiveX control to keep
  756. // track of the user's entry history, and whether DEBUG is enabled.  We keep
  757. // these private properties on a per VS basis.
  758. //
  759. //  File and Directory related properties - these should be added in the
  760. //  metabase with a user type of IIS_MD_UT_FILE
  761. //
  762.   IIS_MD_FILE_PROP_BASE = 6000;
  763.   {$EXTERNALSYM IIS_MD_FILE_PROP_BASE}
  764.   MD_AUTHORIZATION              = (IIS_MD_FILE_PROP_BASE);
  765.   {$EXTERNALSYM MD_AUTHORIZATION}
  766.   MD_REALM                      = (IIS_MD_FILE_PROP_BASE+1);
  767.   {$EXTERNALSYM MD_REALM}
  768.   MD_HTTP_EXPIRES               = (IIS_MD_FILE_PROP_BASE+2);
  769.   {$EXTERNALSYM MD_HTTP_EXPIRES}
  770.   MD_HTTP_PICS                  = (IIS_MD_FILE_PROP_BASE+3);
  771.   {$EXTERNALSYM MD_HTTP_PICS}
  772.   MD_HTTP_CUSTOM                = (IIS_MD_FILE_PROP_BASE+4);
  773.   {$EXTERNALSYM MD_HTTP_CUSTOM}
  774.   MD_DIRECTORY_BROWSING         = (IIS_MD_FILE_PROP_BASE+5);
  775.   {$EXTERNALSYM MD_DIRECTORY_BROWSING}
  776.   MD_DEFAULT_LOAD_FILE          = (IIS_MD_FILE_PROP_BASE+6);
  777.   {$EXTERNALSYM MD_DEFAULT_LOAD_FILE}
  778.   MD_CUSTOM_ERROR               = (IIS_MD_FILE_PROP_BASE+8);
  779.   {$EXTERNALSYM MD_CUSTOM_ERROR}
  780.   MD_FOOTER_DOCUMENT            = (IIS_MD_FILE_PROP_BASE+9);
  781.   {$EXTERNALSYM MD_FOOTER_DOCUMENT}
  782.   MD_FOOTER_ENABLED             = (IIS_MD_FILE_PROP_BASE+10);
  783.   {$EXTERNALSYM MD_FOOTER_ENABLED}
  784.   MD_HTTP_REDIRECT              = (IIS_MD_FILE_PROP_BASE+11);
  785.   {$EXTERNALSYM MD_HTTP_REDIRECT}
  786.   MD_DEFAULT_LOGON_DOMAIN       = (IIS_MD_FILE_PROP_BASE+12);
  787.   {$EXTERNALSYM MD_DEFAULT_LOGON_DOMAIN}
  788.   MD_LOGON_METHOD               = (IIS_MD_FILE_PROP_BASE+13);
  789.   {$EXTERNALSYM MD_LOGON_METHOD}
  790.   MD_SCRIPT_MAPS                = (IIS_MD_FILE_PROP_BASE+14);
  791.   {$EXTERNALSYM MD_SCRIPT_MAPS}
  792.   MD_MIME_MAP                   = (IIS_MD_FILE_PROP_BASE+15);
  793.   {$EXTERNALSYM MD_MIME_MAP}
  794.   MD_ACCESS_PERM                = (IIS_MD_FILE_PROP_BASE+16);
  795.   {$EXTERNALSYM MD_ACCESS_PERM}
  796.   MD_IP_SEC                     = (IIS_MD_FILE_PROP_BASE+19);
  797.   {$EXTERNALSYM MD_IP_SEC}
  798.   MD_ANONYMOUS_USER_NAME        = (IIS_MD_FILE_PROP_BASE+20);
  799.   {$EXTERNALSYM MD_ANONYMOUS_USER_NAME}
  800.   MD_ANONYMOUS_PWD              = (IIS_MD_FILE_PROP_BASE+21);
  801.   {$EXTERNALSYM MD_ANONYMOUS_PWD}
  802.   MD_ANONYMOUS_USE_SUBAUTH      = (IIS_MD_FILE_PROP_BASE+22);
  803.   {$EXTERNALSYM MD_ANONYMOUS_USE_SUBAUTH}
  804.   MD_DONT_LOG                   = (IIS_MD_FILE_PROP_BASE+23);
  805.   {$EXTERNALSYM MD_DONT_LOG}
  806.   MD_ADMIN_ACL                  = (IIS_MD_FILE_PROP_BASE+27);
  807.   {$EXTERNALSYM MD_ADMIN_ACL}
  808.   MD_SSI_EXEC_DISABLED          = (IIS_MD_FILE_PROP_BASE+28);
  809.   {$EXTERNALSYM MD_SSI_EXEC_DISABLED}
  810.   MD_DO_REVERSE_DNS             = (IIS_MD_FILE_PROP_BASE+29);
  811.   {$EXTERNALSYM MD_DO_REVERSE_DNS}
  812.   MD_SSL_ACCESS_PERM            = (IIS_MD_FILE_PROP_BASE+30);
  813.   {$EXTERNALSYM MD_SSL_ACCESS_PERM}
  814.   MD_AUTHORIZATION_PERSISTENCE  = (IIS_MD_FILE_PROP_BASE+31);
  815.   {$EXTERNALSYM MD_AUTHORIZATION_PERSISTENCE}
  816.   MD_NTAUTHENTICATION_PROVIDERS = (IIS_MD_FILE_PROP_BASE+32);
  817.   {$EXTERNALSYM MD_NTAUTHENTICATION_PROVIDERS}
  818.   MD_SCRIPT_TIMEOUT             = (IIS_MD_FILE_PROP_BASE+33);
  819.   {$EXTERNALSYM MD_SCRIPT_TIMEOUT}
  820.   MD_CACHE_EXTENSIONS           = (IIS_MD_FILE_PROP_BASE+34);
  821.   {$EXTERNALSYM MD_CACHE_EXTENSIONS}
  822.   MD_CREATE_PROCESS_AS_USER     = (IIS_MD_FILE_PROP_BASE+35);
  823.   {$EXTERNALSYM MD_CREATE_PROCESS_AS_USER}
  824.   MD_CREATE_PROC_NEW_CONSOLE    = (IIS_MD_FILE_PROP_BASE+36);
  825.   {$EXTERNALSYM MD_CREATE_PROC_NEW_CONSOLE}
  826.   MD_POOL_IDC_TIMEOUT           = (IIS_MD_FILE_PROP_BASE+37);
  827.   {$EXTERNALSYM MD_POOL_IDC_TIMEOUT}
  828.   MD_ALLOW_KEEPALIVES           = (IIS_MD_FILE_PROP_BASE+38);
  829.   {$EXTERNALSYM MD_ALLOW_KEEPALIVES}
  830.   MD_IS_CONTENT_INDEXED         = (IIS_MD_FILE_PROP_BASE+39);
  831.   {$EXTERNALSYM MD_IS_CONTENT_INDEXED}
  832.   MD_CC_NO_CACHE                = (IIS_MD_FILE_PROP_BASE+41);
  833.   {$EXTERNALSYM MD_CC_NO_CACHE}
  834.   MD_CC_MAX_AGE                 = (IIS_MD_FILE_PROP_BASE+42);
  835.   {$EXTERNALSYM MD_CC_MAX_AGE}
  836.   MD_CC_OTHER                   = (IIS_MD_FILE_PROP_BASE+43);
  837.   {$EXTERNALSYM MD_CC_OTHER}
  838.   MD_REDIRECT_HEADERS           = (IIS_MD_FILE_PROP_BASE+44);
  839.   {$EXTERNALSYM MD_REDIRECT_HEADERS}
  840.   MD_UPLOAD_READAHEAD_SIZE      = (IIS_MD_FILE_PROP_BASE+45);
  841.   {$EXTERNALSYM MD_UPLOAD_READAHEAD_SIZE}
  842.   MD_PUT_READ_SIZE              = (IIS_MD_FILE_PROP_BASE+46);
  843.   {$EXTERNALSYM MD_PUT_READ_SIZE}
  844.   MD_USE_DIGEST_SSP             = (IIS_MD_FILE_PROP_BASE+47);
  845.   {$EXTERNALSYM MD_USE_DIGEST_SSP}
  846.   MD_ENABLE_URL_AUTHORIZATION     = (IIS_MD_FILE_PROP_BASE+48);
  847.   {$EXTERNALSYM MD_ENABLE_URL_AUTHORIZATION}
  848.   MD_URL_AUTHORIZATION_STORE_NAME = (IIS_MD_FILE_PROP_BASE+49);
  849.   {$EXTERNALSYM MD_URL_AUTHORIZATION_STORE_NAME}
  850.   MD_URL_AUTHORIZATION_SCOPE_NAME = (IIS_MD_FILE_PROP_BASE+50);
  851.   {$EXTERNALSYM MD_URL_AUTHORIZATION_SCOPE_NAME}
  852.   MD_MAX_REQUEST_ENTITY_ALLOWED   = (IIS_MD_FILE_PROP_BASE+51);
  853.   {$EXTERNALSYM MD_MAX_REQUEST_ENTITY_ALLOWED}
  854.   MD_PASSPORT_REQUIRE_AD_MAPPING  = (IIS_MD_FILE_PROP_BASE+52);
  855.   {$EXTERNALSYM MD_PASSPORT_REQUIRE_AD_MAPPING}
  856.   ASP_MD_SERVER_BASE = 7000;
  857.   {$EXTERNALSYM ASP_MD_SERVER_BASE}
  858.   MD_ASP_BUFFERINGON               = (ASP_MD_SERVER_BASE + 0);
  859.   {$EXTERNALSYM MD_ASP_BUFFERINGON}
  860.   MD_ASP_LOGERRORREQUESTS          = (ASP_MD_SERVER_BASE + 1);
  861.   {$EXTERNALSYM MD_ASP_LOGERRORREQUESTS}
  862.   MD_ASP_SCRIPTERRORSSENTTOBROWSER = (ASP_MD_SERVER_BASE + 2);
  863.   {$EXTERNALSYM MD_ASP_SCRIPTERRORSSENTTOBROWSER}
  864.   MD_ASP_SCRIPTERRORMESSAGE        = (ASP_MD_SERVER_BASE + 3);
  865.   {$EXTERNALSYM MD_ASP_SCRIPTERRORMESSAGE}
  866.   MD_ASP_SCRIPTFILECACHESIZE       = (ASP_MD_SERVER_BASE + 4);
  867.   {$EXTERNALSYM MD_ASP_SCRIPTFILECACHESIZE}
  868.   MD_ASP_SCRIPTENGINECACHEMAX      = (ASP_MD_SERVER_BASE + 5);
  869.   {$EXTERNALSYM MD_ASP_SCRIPTENGINECACHEMAX}
  870.   MD_ASP_SCRIPTTIMEOUT             = (ASP_MD_SERVER_BASE + 6);
  871.   {$EXTERNALSYM MD_ASP_SCRIPTTIMEOUT}
  872.   MD_ASP_SESSIONTIMEOUT            = (ASP_MD_SERVER_BASE + 7);
  873.   {$EXTERNALSYM MD_ASP_SESSIONTIMEOUT}
  874.   MD_ASP_ENABLEPARENTPATHS         = (ASP_MD_SERVER_BASE + 8);
  875.   {$EXTERNALSYM MD_ASP_ENABLEPARENTPATHS}
  876.   MD_ASP_MEMFREEFACTOR             = (ASP_MD_SERVER_BASE + 9); // OBSOLETE
  877.   {$EXTERNALSYM MD_ASP_MEMFREEFACTOR}
  878.   MD_ASP_MINUSEDBLOCKS             = (ASP_MD_SERVER_BASE + 10); // OBSOLETE
  879.   {$EXTERNALSYM MD_ASP_MINUSEDBLOCKS}
  880.   MD_ASP_ALLOWSESSIONSTATE         = (ASP_MD_SERVER_BASE + 11);
  881.   {$EXTERNALSYM MD_ASP_ALLOWSESSIONSTATE}
  882.   MD_ASP_SCRIPTLANGUAGE            = (ASP_MD_SERVER_BASE + 12);
  883.   {$EXTERNALSYM MD_ASP_SCRIPTLANGUAGE}
  884.   MD_ASP_QUEUETIMEOUT              = (ASP_MD_SERVER_BASE + 13);
  885.   {$EXTERNALSYM MD_ASP_QUEUETIMEOUT}
  886.   MD_ASP_ALLOWOUTOFPROCCOMPONENTS  = (ASP_MD_SERVER_BASE + 14);
  887.   {$EXTERNALSYM MD_ASP_ALLOWOUTOFPROCCOMPONENTS}
  888.   MD_ASP_ALLOWOUTOFPROCCMPNTS      = (MD_ASP_ALLOWOUTOFPROCCOMPONENTS); // Deprecated.  Use MD_ASP_ALLOWOUTOFPROCCMPNTS
  889.   {$EXTERNALSYM MD_ASP_ALLOWOUTOFPROCCMPNTS}
  890.   MD_ASP_EXCEPTIONCATCHENABLE      = (ASP_MD_SERVER_BASE + 15);
  891.   {$EXTERNALSYM MD_ASP_EXCEPTIONCATCHENABLE}
  892.   MD_ASP_CODEPAGE                  = (ASP_MD_SERVER_BASE + 16);
  893.   {$EXTERNALSYM MD_ASP_CODEPAGE}
  894.   MD_ASP_SCRIPTLANGUAGELIST        = (ASP_MD_SERVER_BASE + 17);
  895.   {$EXTERNALSYM MD_ASP_SCRIPTLANGUAGELIST}
  896.   MD_ASP_ENABLESERVERDEBUG         = (ASP_MD_SERVER_BASE + 18);
  897.   {$EXTERNALSYM MD_ASP_ENABLESERVERDEBUG}
  898.   MD_ASP_ENABLECLIENTDEBUG         = (ASP_MD_SERVER_BASE + 19);
  899.   {$EXTERNALSYM MD_ASP_ENABLECLIENTDEBUG}
  900.   MD_ASP_TRACKTHREADINGMODEL       = (ASP_MD_SERVER_BASE + 20);
  901.   {$EXTERNALSYM MD_ASP_TRACKTHREADINGMODEL}
  902. // added for IIS 5.0
  903.   MD_ASP_ENABLEASPHTMLFALLBACK    = (ASP_MD_SERVER_BASE + 21);
  904.   {$EXTERNALSYM MD_ASP_ENABLEASPHTMLFALLBACK}
  905.   MD_ASP_ENABLECHUNKEDENCODING    = (ASP_MD_SERVER_BASE + 22);
  906.   {$EXTERNALSYM MD_ASP_ENABLECHUNKEDENCODING}
  907.   MD_ASP_ENABLETYPELIBCACHE       = (ASP_MD_SERVER_BASE + 23);
  908.   {$EXTERNALSYM MD_ASP_ENABLETYPELIBCACHE}
  909.   MD_ASP_ERRORSTONTLOG            = (ASP_MD_SERVER_BASE + 24);
  910.   {$EXTERNALSYM MD_ASP_ERRORSTONTLOG}
  911.   MD_ASP_PROCESSORTHREADMAX       = (ASP_MD_SERVER_BASE + 25);
  912.   {$EXTERNALSYM MD_ASP_PROCESSORTHREADMAX}
  913.   MD_ASP_REQEUSTQUEUEMAX          = (ASP_MD_SERVER_BASE + 26);
  914.   {$EXTERNALSYM MD_ASP_REQEUSTQUEUEMAX}
  915.   MD_ASP_ENABLEAPPLICATIONRESTART = (ASP_MD_SERVER_BASE + 27);
  916.   {$EXTERNALSYM MD_ASP_ENABLEAPPLICATIONRESTART}
  917.   MD_ASP_QUEUECONNECTIONTESTTIME  = (ASP_MD_SERVER_BASE + 28);
  918.   {$EXTERNALSYM MD_ASP_QUEUECONNECTIONTESTTIME}
  919.   MD_ASP_SESSIONMAX               = (ASP_MD_SERVER_BASE + 29);
  920.   {$EXTERNALSYM MD_ASP_SESSIONMAX}
  921. // thread gate
  922. //  MD_ASP_THREADGATEENABLED    = (ASP_MD_SERVER_BASE + 30);
  923. //  {$EXTERNALSYM MD_ASP_THREADGATEENABLED}
  924. //  MD_ASP_THREADGATETIMESLICE  = (ASP_MD_SERVER_BASE + 31);
  925. //  {$EXTERNALSYM MD_ASP_THREADGATETIMESLICE}
  926. //  MD_ASP_THREADGATESLEEPDELAY = (ASP_MD_SERVER_BASE + 32);
  927. //  {$EXTERNALSYM MD_ASP_THREADGATESLEEPDELAY}
  928. //  MD_ASP_THREADGATESLEEPMAX   = (ASP_MD_SERVER_BASE + 33);
  929. //  {$EXTERNALSYM MD_ASP_THREADGATESLEEPMAX}
  930. //  MD_ASP_THREADGATELOADLOW    = (ASP_MD_SERVER_BASE + 34);
  931. //  {$EXTERNALSYM MD_ASP_THREADGATELOADLOW}
  932. //  MD_ASP_THREADGATELOADHIGH   = (ASP_MD_SERVER_BASE + 35);
  933. //  {$EXTERNALSYM MD_ASP_THREADGATELOADHIGH}
  934. // added IIS5.1
  935. // persist template cache
  936.   MD_ASP_DISKTEMPLATECACHEDIRECTORY = (ASP_MD_SERVER_BASE + 36);
  937.   {$EXTERNALSYM MD_ASP_DISKTEMPLATECACHEDIRECTORY}
  938.   MD_ASP_MAXDISKTEMPLATECACHEFILES  = (ASP_MD_SERVER_BASE + 40);
  939.   {$EXTERNALSYM MD_ASP_MAXDISKTEMPLATECACHEFILES}
  940.   MD_ASP_EXECUTEINMTA               = (ASP_MD_SERVER_BASE + 41);
  941.   {$EXTERNALSYM MD_ASP_EXECUTEINMTA}
  942.   MD_ASP_LCID                       = (ASP_MD_SERVER_BASE + 42);
  943.   {$EXTERNALSYM MD_ASP_LCID}
  944.   MD_ASP_KEEPSESSIONIDSECURE        = (ASP_MD_SERVER_BASE + 43);
  945.   {$EXTERNALSYM MD_ASP_KEEPSESSIONIDSECURE}
  946. // added IIS6.0
  947. // Services without components integration
  948.   MD_ASP_SERVICE_FLAGS           = (ASP_MD_SERVER_BASE + 44);
  949.   {$EXTERNALSYM MD_ASP_SERVICE_FLAGS}
  950.   MD_ASP_SERVICE_FLAG_TRACKER    = (ASP_MD_SERVER_BASE + 45);
  951.   {$EXTERNALSYM MD_ASP_SERVICE_FLAG_TRACKER}
  952.   MD_ASP_SERVICE_FLAG_FUSION     = (ASP_MD_SERVER_BASE + 46);
  953.   {$EXTERNALSYM MD_ASP_SERVICE_FLAG_FUSION}
  954.   MD_ASP_SERVICE_FLAG_PARTITIONS = (ASP_MD_SERVER_BASE + 47);
  955.   {$EXTERNALSYM MD_ASP_SERVICE_FLAG_PARTITIONS}
  956.   MD_ASP_SERVICE_PARTITION_ID    = (ASP_MD_SERVER_BASE + 48);
  957.   {$EXTERNALSYM MD_ASP_SERVICE_PARTITION_ID}
  958.   MD_ASP_SERVICE_SXS_NAME        = (ASP_MD_SERVER_BASE + 49);
  959.   {$EXTERNALSYM MD_ASP_SERVICE_SXS_NAME}
  960. // Valid flags for MD_ASP_SERVICE_FLAGS property
  961.   MD_ASP_SERVICE_ENABLE_TRACKER  = 1;
  962.   {$EXTERNALSYM MD_ASP_SERVICE_ENABLE_TRACKER}
  963.   MD_ASP_SERVICE_ENABLE_SXS      = 2;
  964.   {$EXTERNALSYM MD_ASP_SERVICE_ENABLE_SXS}
  965.   MD_ASP_SERVICE_USE_PARTITION   = 4;
  966.   {$EXTERNALSYM MD_ASP_SERVICE_USE_PARTITION}
  967. // Line number calculation flag.
  968.   MD_ASP_CALCLINENUMBER             = (ASP_MD_SERVER_BASE + 50);
  969.   {$EXTERNALSYM MD_ASP_CALCLINENUMBER}
  970.   MD_ASP_RUN_ONEND_ANON             = (ASP_MD_SERVER_BASE + 51);
  971.   {$EXTERNALSYM MD_ASP_RUN_ONEND_ANON}
  972.   MD_ASP_BUFFER_LIMIT               = (ASP_MD_SERVER_BASE + 52);
  973.   {$EXTERNALSYM MD_ASP_BUFFER_LIMIT}
  974.   MD_ASP_MAX_REQUEST_ENTITY_ALLOWED = (ASP_MD_SERVER_BASE + 53);
  975.   {$EXTERNALSYM MD_ASP_MAX_REQUEST_ENTITY_ALLOWED}
  976.   MD_ASP_ID_LAST                    = (ASP_MD_SERVER_BASE + 53);
  977.   {$EXTERNALSYM MD_ASP_ID_LAST}
  978. //
  979. //  Valid values for WAM
  980. //
  981.   WAM_MD_SERVER_BASE = 7500;
  982.   {$EXTERNALSYM WAM_MD_SERVER_BASE}
  983.   MD_WAM_USER_NAME = (WAM_MD_SERVER_BASE+1);
  984.   {$EXTERNALSYM MD_WAM_USER_NAME}
  985.   MD_WAM_PWD       = (WAM_MD_SERVER_BASE+2);
  986.   {$EXTERNALSYM MD_WAM_PWD}
  987. // added IIS6
  988. //
  989. //  Valid values for APP POOL
  990. //
  991.   IIS_MD_APPPOOL_BASE = 9000;
  992.   {$EXTERNALSYM IIS_MD_APPPOOL_BASE}
  993.   MD_APPPOOL_PERIODIC_RESTART_TIME          = (IIS_MD_APPPOOL_BASE + 1);
  994.   {$EXTERNALSYM MD_APPPOOL_PERIODIC_RESTART_TIME}
  995.   MD_APPPOOL_PERIODIC_RESTART_REQUEST_COUNT = (IIS_MD_APPPOOL_BASE + 2);
  996.   {$EXTERNALSYM MD_APPPOOL_PERIODIC_RESTART_REQUEST_COUNT}
  997.   MD_APPPOOL_MAX_PROCESS_COUNT              = (IIS_MD_APPPOOL_BASE + 3);
  998.   {$EXTERNALSYM MD_APPPOOL_MAX_PROCESS_COUNT}
  999.   MD_APPPOOL_PINGING_ENABLED                = (IIS_MD_APPPOOL_BASE + 4);
  1000.   {$EXTERNALSYM MD_APPPOOL_PINGING_ENABLED}
  1001.   MD_APPPOOL_IDLE_TIMEOUT                   = (IIS_MD_APPPOOL_BASE + 5);
  1002.   {$EXTERNALSYM MD_APPPOOL_IDLE_TIMEOUT}
  1003.   MD_APPPOOL_RAPID_FAIL_PROTECTION_ENABLED  = (IIS_MD_APPPOOL_BASE + 6);
  1004.   {$EXTERNALSYM MD_APPPOOL_RAPID_FAIL_PROTECTION_ENABLED}
  1005.   MD_APPPOOL_SMP_AFFINITIZED                = (IIS_MD_APPPOOL_BASE + 7);
  1006.   {$EXTERNALSYM MD_APPPOOL_SMP_AFFINITIZED}
  1007.   MD_APPPOOL_SMP_AFFINITIZED_PROCESSOR_MASK = (IIS_MD_APPPOOL_BASE + 8);
  1008.   {$EXTERNALSYM MD_APPPOOL_SMP_AFFINITIZED_PROCESSOR_MASK}
  1009.   MD_APPPOOL_ORPHAN_PROCESSES_FOR_DEBUGGING = (IIS_MD_APPPOOL_BASE + 9);
  1010.   {$EXTERNALSYM MD_APPPOOL_ORPHAN_PROCESSES_FOR_DEBUGGING}
  1011.   //MD_APPPOOL_RUN_AS_LOCALSYSTEM                 = (IIS_MD_APPPOOL_BASE + 10);
  1012.   //{$EXTERNALSYM MD_APPPOOL_RUN_AS_LOCALSYSTEM}
  1013.   MD_APPPOOL_STARTUP_TIMELIMIT                  = (IIS_MD_APPPOOL_BASE + 11);
  1014.   {$EXTERNALSYM MD_APPPOOL_STARTUP_TIMELIMIT}
  1015.   MD_APPPOOL_SHUTDOWN_TIMELIMIT                 = (IIS_MD_APPPOOL_BASE + 12);
  1016.   {$EXTERNALSYM MD_APPPOOL_SHUTDOWN_TIMELIMIT}
  1017.   MD_APPPOOL_PING_INTERVAL                      = (IIS_MD_APPPOOL_BASE + 13);
  1018.   {$EXTERNALSYM MD_APPPOOL_PING_INTERVAL}
  1019.   MD_APPPOOL_PING_RESPONSE_TIMELIMIT            = (IIS_MD_APPPOOL_BASE + 14);
  1020.   {$EXTERNALSYM MD_APPPOOL_PING_RESPONSE_TIMELIMIT}
  1021.   MD_APPPOOL_DISALLOW_OVERLAPPING_ROTATION      = (IIS_MD_APPPOOL_BASE + 15);
  1022.   {$EXTERNALSYM MD_APPPOOL_DISALLOW_OVERLAPPING_ROTATION}
  1023.   //MD_APPPOOL_ORPHAN_ACTION                      = (IIS_MD_APPPOOL_BASE + 16);
  1024.   //{$EXTERNALSYM MD_APPPOOL_ORPHAN_ACTION}
  1025.   MD_APPPOOL_UL_APPPOOL_QUEUE_LENGTH            = (IIS_MD_APPPOOL_BASE + 17);
  1026.   {$EXTERNALSYM MD_APPPOOL_UL_APPPOOL_QUEUE_LENGTH}
  1027.   MD_APPPOOL_DISALLOW_ROTATION_ON_CONFIG_CHANGE = (IIS_MD_APPPOOL_BASE + 18);
  1028.   {$EXTERNALSYM MD_APPPOOL_DISALLOW_ROTATION_ON_CONFIG_CHANGE}
  1029.   //MD_APPPOOL_FRIENDLY_NAME                      = (IIS_MD_APPPOOL_BASE + 19);
  1030.   //{$EXTERNALSYM MD_APPPOOL_FRIENDLY_NAME}
  1031.   MD_APPPOOL_PERIODIC_RESTART_SCHEDULE          = (IIS_MD_APPPOOL_BASE + 20);
  1032.   {$EXTERNALSYM MD_APPPOOL_PERIODIC_RESTART_SCHEDULE}
  1033.   MD_APPPOOL_IDENTITY_TYPE                      = (IIS_MD_APPPOOL_BASE + 21);
  1034.   {$EXTERNALSYM MD_APPPOOL_IDENTITY_TYPE}
  1035.   MD_CPU_ACTION                                 = (IIS_MD_APPPOOL_BASE + 22);
  1036.   {$EXTERNALSYM MD_CPU_ACTION}
  1037.   MD_CPU_LIMIT                                  = (IIS_MD_APPPOOL_BASE + 23);
  1038.   {$EXTERNALSYM MD_CPU_LIMIT}
  1039.   MD_APPPOOL_PERIODIC_RESTART_MEMORY            = (IIS_MD_APPPOOL_BASE + 24);
  1040.   {$EXTERNALSYM MD_APPPOOL_PERIODIC_RESTART_MEMORY}
  1041.   //MD_DISABLE_PUBLISHING                         = (IIS_MD_APPPOOL_BASE + 25);
  1042.   //{$EXTERNALSYM MD_DISABLE_PUBLISHING}
  1043.   MD_APPPOOL_COMMAND                            = (IIS_MD_APPPOOL_BASE + 26);
  1044.   {$EXTERNALSYM MD_APPPOOL_COMMAND}
  1045.   MD_APPPOOL_STATE                              = (IIS_MD_APPPOOL_BASE + 27);
  1046.   {$EXTERNALSYM MD_APPPOOL_STATE}
  1047.   MD_APPPOOL_AUTO_START                         = (IIS_MD_APPPOOL_BASE + 28);
  1048.   {$EXTERNALSYM MD_APPPOOL_AUTO_START}
  1049.   MD_RAPID_FAIL_PROTECTION_INTERVAL             = (IIS_MD_APPPOOL_BASE + 29);
  1050.   {$EXTERNALSYM MD_RAPID_FAIL_PROTECTION_INTERVAL}
  1051.   MD_RAPID_FAIL_PROTECTION_MAX_CRASHES          = (IIS_MD_APPPOOL_BASE + 30);
  1052.   {$EXTERNALSYM MD_RAPID_FAIL_PROTECTION_MAX_CRASHES}
  1053.   MD_APPPOOL_ORPHAN_ACTION_EXE                  = (IIS_MD_APPPOOL_BASE + 31);
  1054.   {$EXTERNALSYM MD_APPPOOL_ORPHAN_ACTION_EXE}
  1055.   MD_APPPOOL_ORPHAN_ACTION_PARAMS               = (IIS_MD_APPPOOL_BASE + 32);
  1056.   {$EXTERNALSYM MD_APPPOOL_ORPHAN_ACTION_PARAMS}
  1057.   MB_DONT_IMPERSONATE                           = (IIS_MD_APPPOOL_BASE + 33);
  1058.   {$EXTERNALSYM MB_DONT_IMPERSONATE}
  1059. //
  1060. // Load balancer properties
  1061. //
  1062.   MD_LOAD_BALANCER_CAPABILITIES                 = (IIS_MD_APPPOOL_BASE + 34);
  1063.   {$EXTERNALSYM MD_LOAD_BALANCER_CAPABILITIES}
  1064. //
  1065. //  Valid values for APP POOL
  1066. //
  1067.   MD_APPPOOL_AUTO_SHUTDOWN_EXE                = (IIS_MD_APPPOOL_BASE + 35);
  1068.   {$EXTERNALSYM MD_APPPOOL_AUTO_SHUTDOWN_EXE}
  1069.   MD_APPPOOL_AUTO_SHUTDOWN_PARAMS             = (IIS_MD_APPPOOL_BASE + 36);
  1070.   {$EXTERNALSYM MD_APPPOOL_AUTO_SHUTDOWN_PARAMS}
  1071.   MD_APP_POOL_LOG_EVENT_ON_RECYCLE            = (IIS_MD_APPPOOL_BASE + 37);
  1072.   {$EXTERNALSYM MD_APP_POOL_LOG_EVENT_ON_RECYCLE}
  1073.   MD_APPPOOL_PERIODIC_RESTART_PRIVATE_MEMORY  = (IIS_MD_APPPOOL_BASE + 38);
  1074.   {$EXTERNALSYM MD_APPPOOL_PERIODIC_RESTART_PRIVATE_MEMORY}
  1075. //
  1076. // Valid values for MD_APP_POOL_LOG_EVENT_ON_RECYCLE
  1077. //
  1078.   MD_APP_POOL_RECYCLE_TIME                    = 1;
  1079.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_TIME}
  1080.   MD_APP_POOL_RECYCLE_REQUESTS                = 2;
  1081.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_REQUESTS}
  1082.   MD_APP_POOL_RECYCLE_SCHEDULE                = 4;
  1083.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_SCHEDULE}
  1084.   MD_APP_POOL_RECYCLE_MEMORY                  = 8;
  1085.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_MEMORY}
  1086.   MD_APP_POOL_RECYCLE_ISAPI_UNHEALTHY         = 16;
  1087.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_ISAPI_UNHEALTHY}
  1088.   MD_APP_POOL_RECYCLE_ON_DEMAND               = 32;
  1089.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_ON_DEMAND}
  1090.   MD_APP_POOL_RECYCLE_CONFIG_CHANGE           = 64;
  1091.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_CONFIG_CHANGE}
  1092.   MD_APP_POOL_RECYCLE_PRIVATE_MEMORY          = 128;
  1093.   {$EXTERNALSYM MD_APP_POOL_RECYCLE_PRIVATE_MEMORY}
  1094. //
  1095. // Valid values for MD_CPU_ACTION
  1096. //
  1097.   MD_CPU_NO_ACTION = 0;
  1098.   {$EXTERNALSYM MD_CPU_NO_ACTION}
  1099.   MD_CPU_KILL_W3WP = 1;
  1100.   {$EXTERNALSYM MD_CPU_KILL_W3WP}
  1101.   MD_CPU_TRACE     = 2;
  1102.   {$EXTERNALSYM MD_CPU_TRACE}
  1103.   MD_CPU_THROTTLE  = 3;
  1104.   {$EXTERNALSYM MD_CPU_THROTTLE}
  1105. //
  1106. // Valid values for MD_APPPOOL_COMMAND
  1107. //
  1108.   MD_APPPOOL_COMMAND_START = 1;
  1109.   {$EXTERNALSYM MD_APPPOOL_COMMAND_START}
  1110.   MD_APPPOOL_COMMAND_STOP  = 2;
  1111.   {$EXTERNALSYM MD_APPPOOL_COMMAND_STOP}
  1112. //
  1113. // Valid values for MD_APPPOOL_STATE
  1114. //
  1115.   MD_APPPOOL_STATE_STARTING = 1;
  1116.   {$EXTERNALSYM MD_APPPOOL_STATE_STARTING}
  1117.   MD_APPPOOL_STATE_STARTED  = 2;
  1118.   {$EXTERNALSYM MD_APPPOOL_STATE_STARTED}
  1119.   MD_APPPOOL_STATE_STOPPING = 3;
  1120.   {$EXTERNALSYM MD_APPPOOL_STATE_STOPPING}
  1121.   MD_APPPOOL_STATE_STOPPED  = 4;
  1122.   {$EXTERNALSYM MD_APPPOOL_STATE_STOPPED}
  1123. //
  1124. // Valid values for MD_APPPOOL_IDENTITY_TYPE
  1125. //
  1126.   MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM        = 0;
  1127.   {$EXTERNALSYM MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM}
  1128.   MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE       = 1;
  1129.   {$EXTERNALSYM MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE}
  1130.   MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE     = 2;
  1131.   {$EXTERNALSYM MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE}
  1132.   MD_APPPOOL_IDENTITY_TYPE_SPECIFICUSER       = 3;
  1133.   {$EXTERNALSYM MD_APPPOOL_IDENTITY_TYPE_SPECIFICUSER}
  1134. //
  1135. // Valid values for MD_LOAD_BALANCER_CAPABILITIES
  1136. //
  1137.   MD_LOAD_BALANCER_CAPABILITIES_BASIC         = 1;
  1138.   {$EXTERNALSYM MD_LOAD_BALANCER_CAPABILITIES_BASIC}
  1139.   MD_LOAD_BALANCER_CAPABILITIES_SOPHISTICATED = 2;
  1140.   {$EXTERNALSYM MD_LOAD_BALANCER_CAPABILITIES_SOPHISTICATED}
  1141. //
  1142. // Valid values for MD_APPPOOL_STATE
  1143. //
  1144.   IIS_MD_APP_BASE                         = 9100;
  1145.   {$EXTERNALSYM IIS_MD_APP_BASE}
  1146.   MD_APP_APPPOOL_ID                       = (IIS_MD_APP_BASE+1);
  1147.   {$EXTERNALSYM MD_APP_APPPOOL_ID}
  1148.   MD_APP_ALLOW_TRANSIENT_REGISTRATION     = (IIS_MD_APP_BASE+2);
  1149.   {$EXTERNALSYM MD_APP_ALLOW_TRANSIENT_REGISTRATION}
  1150.   MD_APP_AUTO_START                       = (IIS_MD_APP_BASE+3);
  1151.   {$EXTERNALSYM MD_APP_AUTO_START}
  1152.   MD_APPPOOL_PERIODIC_RESTART_CONNECTIONS = (IIS_MD_APP_BASE+4);
  1153.   {$EXTERNALSYM MD_APPPOOL_PERIODIC_RESTART_CONNECTIONS}
  1154. //
  1155. // TODO: These are duplicate definitions. Remove them if no one is using it.
  1156. //
  1157.   MD_APPPOOL_APPPOOL_ID                   = (IIS_MD_APP_BASE + 101);
  1158.   {$EXTERNALSYM MD_APPPOOL_APPPOOL_ID}
  1159.   MD_APPPOOL_ALLOW_TRANSIENT_REGISTRATION = (IIS_MD_APP_BASE + 102);
  1160.   {$EXTERNALSYM MD_APPPOOL_ALLOW_TRANSIENT_REGISTRATION}
  1161. // commented out so we can build
  1162. //#define MD_APPPOOL_AUTO_START                         (IIS_MD_APP_BASE + 103)
  1163.   IIS_MD_GLOBAL_BASE                            = 9200;
  1164.   {$EXTERNALSYM IIS_MD_GLOBAL_BASE}
  1165.   MD_MAX_GLOBAL_BANDWIDTH                       = (IIS_MD_GLOBAL_BASE+1);
  1166.   {$EXTERNALSYM MD_MAX_GLOBAL_BANDWIDTH}
  1167.   MD_GLOBAL_STANDARD_APP_MODE_ENABLED           = (IIS_MD_GLOBAL_BASE+3);
  1168.   {$EXTERNALSYM MD_GLOBAL_STANDARD_APP_MODE_ENABLED}
  1169.   MD_HEADER_WAIT_TIMEOUT                        = (IIS_MD_GLOBAL_BASE+4);
  1170.   {$EXTERNALSYM MD_HEADER_WAIT_TIMEOUT}
  1171.   MD_MIN_FILE_BYTES_PER_SEC                     = (IIS_MD_GLOBAL_BASE+5);
  1172.   {$EXTERNALSYM MD_MIN_FILE_BYTES_PER_SEC}
  1173.   MD_GLOBAL_LOG_IN_UTF_8                        = (IIS_MD_GLOBAL_BASE+6);
  1174.   {$EXTERNALSYM MD_GLOBAL_LOG_IN_UTF_8}
  1175.   MD_DEMAND_START_THRESHOLD                     = (IIS_MD_GLOBAL_BASE+7);
  1176.   {$EXTERNALSYM MD_DEMAND_START_THRESHOLD}
  1177.   MD_GLOBAL_SESSIONKEY                              = 9999;
  1178.   {$EXTERNALSYM MD_GLOBAL_SESSIONKEY}
  1179.   MD_ROOT_ENABLE_EDIT_WHILE_RUNNING                 = 9998;
  1180.   {$EXTERNALSYM MD_ROOT_ENABLE_EDIT_WHILE_RUNNING}
  1181.   MD_GLOBAL_CHANGE_NUMBER                           = 9997;
  1182.   {$EXTERNALSYM MD_GLOBAL_CHANGE_NUMBER}
  1183.   MD_ROOT_ENABLE_HISTORY                            = 9996;
  1184.   {$EXTERNALSYM MD_ROOT_ENABLE_HISTORY}
  1185.   MD_ROOT_MAX_HISTORY_FILES                         = 9995;
  1186.   {$EXTERNALSYM MD_ROOT_MAX_HISTORY_FILES}
  1187.   MD_GLOBAL_EDIT_WHILE_RUNNING_MAJOR_VERSION_NUMBER = 9994;
  1188.   {$EXTERNALSYM MD_GLOBAL_EDIT_WHILE_RUNNING_MAJOR_VERSION_NUMBER}
  1189.   MD_GLOBAL_EDIT_WHILE_RUNNING_MINOR_VERSION_NUMBER = 9993;
  1190.   {$EXTERNALSYM MD_GLOBAL_EDIT_WHILE_RUNNING_MINOR_VERSION_NUMBER}
  1191.   MD_GLOBAL_XMLSCHEMATIMESTAMP                      = 9992;
  1192.   {$EXTERNALSYM MD_GLOBAL_XMLSCHEMATIMESTAMP}
  1193.   MD_GLOBAL_BINSCHEMATIMESTAMP                      = 9991;
  1194.   {$EXTERNALSYM MD_GLOBAL_BINSCHEMATIMESTAMP}
  1195.   MD_COMMENTS                                       = 9990;
  1196.   {$EXTERNALSYM MD_COMMENTS}
  1197.   MD_LOCATION                                       = 9989;
  1198.   {$EXTERNALSYM MD_LOCATION}
  1199.   MD_MAX_ERROR_FILES                                = 9988;
  1200.   {$EXTERNALSYM MD_MAX_ERROR_FILES}
  1201.   MD_STOP_LISTENING                                 = 9987;
  1202.   {$EXTERNALSYM MD_STOP_LISTENING}
  1203. //
  1204. //  Valid values for MD_AUTHORIZATION
  1205. //
  1206.   MD_AUTH_ANONYMOUS = $00000001;
  1207.   {$EXTERNALSYM MD_AUTH_ANONYMOUS}
  1208.   MD_AUTH_BASIC     = $00000002;
  1209.   {$EXTERNALSYM MD_AUTH_BASIC}
  1210.   MD_AUTH_NT        = $00000004; // Use NT auth provider (like NTLM)
  1211.   {$EXTERNALSYM MD_AUTH_NT}
  1212.   MD_AUTH_PASSPORT  = $00000040;
  1213.   {$EXTERNALSYM MD_AUTH_PASSPORT}
  1214. //
  1215. //  Valid values for MD_AUTHORIZATION_PERSISTENCE
  1216. //
  1217.   MD_AUTH_SINGLEREQUEST              = $00000040;
  1218.   {$EXTERNALSYM MD_AUTH_SINGLEREQUEST}
  1219.   MD_AUTH_SINGLEREQUESTIFPROXY       = $00000080;
  1220.   {$EXTERNALSYM MD_AUTH_SINGLEREQUESTIFPROXY}
  1221.   MD_AUTH_SINGLEREQUESTALWAYSIFPROXY = $00000100;
  1222.   {$EXTERNALSYM MD_AUTH_SINGLEREQUESTALWAYSIFPROXY}
  1223. //
  1224. //  Valid values for MD_ACCESS_PERM
  1225. //
  1226.   MD_ACCESS_READ              = $00000001; // Allow for Read
  1227.   {$EXTERNALSYM MD_ACCESS_READ}
  1228.   MD_ACCESS_WRITE             = $00000002; // Allow for Write
  1229.   {$EXTERNALSYM MD_ACCESS_WRITE}
  1230.   MD_ACCESS_EXECUTE           = $00000004; // Allow for Execute
  1231.   {$EXTERNALSYM MD_ACCESS_EXECUTE}
  1232.   MD_ACCESS_SOURCE            = $00000010; // Apply access mask to source
  1233.   {$EXTERNALSYM MD_ACCESS_SOURCE}
  1234.   MD_ACCESS_SCRIPT            = $00000200; // Allow for Script execution
  1235.   {$EXTERNALSYM MD_ACCESS_SCRIPT}
  1236.   MD_ACCESS_NO_REMOTE_WRITE   = $00000400; // Local host access only
  1237.   {$EXTERNALSYM MD_ACCESS_NO_REMOTE_WRITE}
  1238.   MD_ACCESS_NO_REMOTE_READ    = $00001000; // Local host access only
  1239.   {$EXTERNALSYM MD_ACCESS_NO_REMOTE_READ}
  1240.   MD_ACCESS_NO_REMOTE_EXECUTE = $00002000; // Local host access only
  1241.   {$EXTERNALSYM MD_ACCESS_NO_REMOTE_EXECUTE}
  1242.   MD_ACCESS_NO_REMOTE_SCRIPT  = $00004000; // Local host access only
  1243.   {$EXTERNALSYM MD_ACCESS_NO_REMOTE_SCRIPT}
  1244.   MD_NONSLL_ACCESS_MASK = (MD_ACCESS_READ or MD_ACCESS_WRITE or MD_ACCESS_EXECUTE or
  1245.     MD_ACCESS_SOURCE or MD_ACCESS_SCRIPT or MD_ACCESS_NO_REMOTE_READ or
  1246.     MD_ACCESS_NO_REMOTE_WRITE or MD_ACCESS_NO_REMOTE_EXECUTE or MD_ACCESS_NO_REMOTE_SCRIPT);
  1247.   {$EXTERNALSYM MD_NONSLL_ACCESS_MASK}
  1248. //
  1249. //  Valid values for MD_SSL_ACCESS_PERM
  1250. //
  1251.   MD_ACCESS_SSL          = $00000008; // Require SSL
  1252.   {$EXTERNALSYM MD_ACCESS_SSL}
  1253.   MD_ACCESS_NEGO_CERT    = $00000020; // Allow client SSL certs
  1254.   {$EXTERNALSYM MD_ACCESS_NEGO_CERT}
  1255.   MD_ACCESS_REQUIRE_CERT = $00000040; // Require client SSL certs
  1256.   {$EXTERNALSYM MD_ACCESS_REQUIRE_CERT}
  1257.   MD_ACCESS_MAP_CERT     = $00000080; // Map SSL cert to NT account
  1258.   {$EXTERNALSYM MD_ACCESS_MAP_CERT}
  1259.   MD_ACCESS_SSL128       = $00000100; // Require 128 bit SSL
  1260.   {$EXTERNALSYM MD_ACCESS_SSL128}
  1261.   MD_SSL_ACCESS_MASK = (MD_ACCESS_SSL or MD_ACCESS_NEGO_CERT or MD_ACCESS_REQUIRE_CERT or MD_ACCESS_MAP_CERT or MD_ACCESS_SSL128);
  1262.   {$EXTERNALSYM MD_SSL_ACCESS_MASK}
  1263.   MD_ACCESS_MASK = $00007fff;
  1264.   {$EXTERNALSYM MD_ACCESS_MASK}
  1265. //
  1266. //  Valid values for MD_DIRECTORY_BROWSING
  1267. //
  1268.   MD_DIRBROW_SHOW_DATE      = $00000002;
  1269.   {$EXTERNALSYM MD_DIRBROW_SHOW_DATE}
  1270.   MD_DIRBROW_SHOW_TIME      = $00000004;
  1271.   {$EXTERNALSYM MD_DIRBROW_SHOW_TIME}
  1272.   MD_DIRBROW_SHOW_SIZE      = $00000008;
  1273.   {$EXTERNALSYM MD_DIRBROW_SHOW_SIZE}
  1274.   MD_DIRBROW_SHOW_EXTENSION = $00000010;
  1275.   {$EXTERNALSYM MD_DIRBROW_SHOW_EXTENSION}
  1276.   MD_DIRBROW_LONG_DATE      = $00000020;
  1277.   {$EXTERNALSYM MD_DIRBROW_LONG_DATE}
  1278.   MD_DIRBROW_ENABLED     = DWORD($80000000); // Allow directory browsing
  1279.   {$EXTERNALSYM MD_DIRBROW_ENABLED}
  1280.   MD_DIRBROW_LOADDEFAULT = $40000000; // Load default doc if exists
  1281.   {$EXTERNALSYM MD_DIRBROW_LOADDEFAULT}
  1282.   MD_DIRBROW_MASK = (MD_DIRBROW_SHOW_DATE or MD_DIRBROW_SHOW_TIME or MD_DIRBROW_SHOW_SIZE or
  1283.     MD_DIRBROW_SHOW_EXTENSION or MD_DIRBROW_LONG_DATE or MD_DIRBROW_LOADDEFAULT or MD_DIRBROW_ENABLED);
  1284.   {$EXTERNALSYM MD_DIRBROW_MASK}
  1285. //
  1286. //  Valid values for MD_LOGON_METHOD
  1287. //
  1288.   MD_LOGON_INTERACTIVE       = 0;
  1289.   {$EXTERNALSYM MD_LOGON_INTERACTIVE}
  1290.   MD_LOGON_BATCH             = 1;
  1291.   {$EXTERNALSYM MD_LOGON_BATCH}
  1292.   MD_LOGON_NETWORK           = 2;
  1293.   {$EXTERNALSYM MD_LOGON_NETWORK}
  1294.   MD_LOGON_NETWORK_CLEARTEXT = 3;
  1295.   {$EXTERNALSYM MD_LOGON_NETWORK_CLEARTEXT}
  1296. //
  1297. //  Valid values for MD_PASSPORT_REQUIRE_AD_MAPPING
  1298. //
  1299.   MD_PASSPORT_NO_MAPPING    = 0;
  1300.   {$EXTERNALSYM MD_PASSPORT_NO_MAPPING}
  1301.   MD_PASSPORT_TRY_MAPPING   = 1;
  1302.   {$EXTERNALSYM MD_PASSPORT_TRY_MAPPING}
  1303.   MD_PASSPORT_NEED_MAPPING  = 2;
  1304.   {$EXTERNALSYM MD_PASSPORT_NEED_MAPPING}
  1305. //
  1306. // Valid values for MD_NOTIFY_EXAUTH
  1307. //
  1308.   MD_NOTIFEXAUTH_NTLMSSL = 1;
  1309.   {$EXTERNALSYM MD_NOTIFEXAUTH_NTLMSSL}
  1310. //
  1311. //  Valid values for MD_FILTER_STATE
  1312. //
  1313.   MD_FILTER_STATE_LOADED   = 1;
  1314.   {$EXTERNALSYM MD_FILTER_STATE_LOADED}
  1315.   MD_FILTER_STATE_UNLOADED = 4;
  1316.   {$EXTERNALSYM MD_FILTER_STATE_UNLOADED}
  1317. //
  1318. //  Valid values for MD_SERVER_STATE
  1319. //
  1320.   MD_SERVER_STATE_STARTING   = 1;
  1321.   {$EXTERNALSYM MD_SERVER_STATE_STARTING}
  1322.   MD_SERVER_STATE_STARTED    = 2;
  1323.   {$EXTERNALSYM MD_SERVER_STATE_STARTED}
  1324.   MD_SERVER_STATE_STOPPING   = 3;
  1325.   {$EXTERNALSYM MD_SERVER_STATE_STOPPING}
  1326.   MD_SERVER_STATE_STOPPED    = 4;
  1327.   {$EXTERNALSYM MD_SERVER_STATE_STOPPED}
  1328.   MD_SERVER_STATE_PAUSING    = 5;
  1329.   {$EXTERNALSYM MD_SERVER_STATE_PAUSING}
  1330.   MD_SERVER_STATE_PAUSED     = 6;
  1331.   {$EXTERNALSYM MD_SERVER_STATE_PAUSED}
  1332.   MD_SERVER_STATE_CONTINUING = 7;
  1333.   {$EXTERNALSYM MD_SERVER_STATE_CONTINUING}
  1334. //
  1335. //  Valid values for MD_SERVER_COMMAND
  1336. //
  1337.   MD_SERVER_COMMAND_START    = 1;
  1338.   {$EXTERNALSYM MD_SERVER_COMMAND_START}
  1339.   MD_SERVER_COMMAND_STOP     = 2;
  1340.   {$EXTERNALSYM MD_SERVER_COMMAND_STOP}
  1341.   MD_SERVER_COMMAND_PAUSE    = 3;
  1342.   {$EXTERNALSYM MD_SERVER_COMMAND_PAUSE}
  1343.   MD_SERVER_COMMAND_CONTINUE = 4;
  1344.   {$EXTERNALSYM MD_SERVER_COMMAND_CONTINUE}
  1345. //
  1346. //  Valid values for MD_SERVER_SIZE
  1347. //
  1348.   MD_SERVER_SIZE_SMALL  = 0;
  1349.   {$EXTERNALSYM MD_SERVER_SIZE_SMALL}
  1350.   MD_SERVER_SIZE_MEDIUM = 1;
  1351.   {$EXTERNALSYM MD_SERVER_SIZE_MEDIUM}
  1352.   MD_SERVER_SIZE_LARGE  = 2;
  1353.   {$EXTERNALSYM MD_SERVER_SIZE_LARGE}
  1354. //
  1355. // Valid values for MD_SERVER_CONFIG_INFO
  1356. //
  1357.   MD_SERVER_CONFIG_SSL_40        = $00000001;
  1358.   {$EXTERNALSYM MD_SERVER_CONFIG_SSL_40}
  1359.   MD_SERVER_CONFIG_SSL_128       = $00000002;
  1360.   {$EXTERNALSYM MD_SERVER_CONFIG_SSL_128}
  1361.   MD_SERVER_CONFIG_ALLOW_ENCRYPT = $00000004;
  1362.   {$EXTERNALSYM MD_SERVER_CONFIG_ALLOW_ENCRYPT}
  1363.   MD_SERVER_CONFIG_AUTO_PW_SYNC  = $00000008;
  1364.   {$EXTERNALSYM MD_SERVER_CONFIG_AUTO_PW_SYNC}
  1365.   // todo MD_SERVER_CONFIG_ENCRYPT unknown!
  1366.   //MD_SERVER_CONFIGURATION_MASK = (MD_SERVER_CONFIG_SSL_40 or MD_SERVER_CONFIG_SSL_128 or MD_SERVER_CONFIG_ENCRYPT or MD_SERVER_CONFIG_AUTO_PW_SYNC);
  1367.   //{$EXTERNALSYM MD_SERVER_CONFIGURATION_MASK}
  1368. //
  1369. // Valid values for MD_SCRIPT_MAPS flag field
  1370. //
  1371.   MD_SCRIPTMAPFLAG_SCRIPT          = $00000001;
  1372.   {$EXTERNALSYM MD_SCRIPTMAPFLAG_SCRIPT}
  1373.   MD_SCRIPTMAPFLAG_CHECK_PATH_INFO = $00000004;
  1374.   {$EXTERNALSYM MD_SCRIPTMAPFLAG_CHECK_PATH_INFO}
  1375. {$IFDEF REMOVE}   // SteveBr
  1376. //
  1377. //  Bogus value - do not use
  1378. //
  1379.   MD_SCRIPTMAPFLAG_ALLOWED_ON_READ_DIR = $00000001;
  1380.   {$EXTERNALSYM MD_SCRIPTMAPFLAG_ALLOWED_ON_READ_DIR}
  1381. {$ENDIF}
  1382. //
  1383. // Valid values for MD_AUTH_CHANGE_ENABLE
  1384. //
  1385.   MD_AUTH_CHANGE_UNSECURE   = $00000001;
  1386.   {$EXTERNALSYM MD_AUTH_CHANGE_UNSECURE}
  1387.   MD_AUTH_CHANGE_DISABLE    = $00000002;
  1388.   {$EXTERNALSYM MD_AUTH_CHANGE_DISABLE}
  1389.   MD_AUTH_ADVNOTIFY_DISABLE = $00000004;
  1390.   {$EXTERNALSYM MD_AUTH_ADVNOTIFY_DISABLE}
  1391. //
  1392. // Valid values for MD_NET_LOGON_WKS
  1393. //
  1394.   MD_NETLOGON_WKS_NONE = 0;
  1395.   {$EXTERNALSYM MD_NETLOGON_WKS_NONE}
  1396.   MD_NETLOGON_WKS_IP   = 1;
  1397.   {$EXTERNALSYM MD_NETLOGON_WKS_IP}
  1398.   MD_NETLOGON_WKS_DNS  = 2;
  1399.   {$EXTERNALSYM MD_NETLOGON_WKS_DNS}
  1400. //
  1401. //  Valide substatus errors for MD_CUSTOM_ERROR
  1402. //
  1403.   MD_ERROR_SUB401_LOGON        = 1;
  1404.   {$EXTERNALSYM MD_ERROR_SUB401_LOGON}
  1405.   MD_ERROR_SUB401_LOGON_CONFIG = 2;
  1406.   {$EXTERNALSYM MD_ERROR_SUB401_LOGON_CONFIG}
  1407.   MD_ERROR_SUB401_LOGON_ACL    = 3;
  1408.   {$EXTERNALSYM MD_ERROR_SUB401_LOGON_ACL}
  1409.   MD_ERROR_SUB401_FILTER       = 4;
  1410.   {$EXTERNALSYM MD_ERROR_SUB401_FILTER}
  1411.   MD_ERROR_SUB401_APPLICATION  = 5;
  1412.   {$EXTERNALSYM MD_ERROR_SUB401_APPLICATION}
  1413.   MD_ERROR_SUB401_URLAUTH_POLICY = 7;
  1414.   {$EXTERNALSYM MD_ERROR_SUB401_URLAUTH_POLICY}
  1415.   MD_ERROR_SUB403_EXECUTE_ACCESS_DENIED = 1;
  1416.   {$EXTERNALSYM MD_ERROR_SUB403_EXECUTE_ACCESS_DENIED}
  1417.   MD_ERROR_SUB403_READ_ACCESS_DENIED    = 2;
  1418.   {$EXTERNALSYM MD_ERROR_SUB403_READ_ACCESS_DENIED}
  1419.   MD_ERROR_SUB403_WRITE_ACCESS_DENIED   = 3;
  1420.   {$EXTERNALSYM MD_ERROR_SUB403_WRITE_ACCESS_DENIED}
  1421.   MD_ERROR_SUB403_SSL_REQUIRED          = 4;
  1422.   {$EXTERNALSYM MD_ERROR_SUB403_SSL_REQUIRED}
  1423.   MD_ERROR_SUB403_SSL128_REQUIRED       = 5;
  1424.   {$EXTERNALSYM MD_ERROR_SUB403_SSL128_REQUIRED}
  1425.   MD_ERROR_SUB403_ADDR_REJECT           = 6;
  1426.   {$EXTERNALSYM MD_ERROR_SUB403_ADDR_REJECT}
  1427.   MD_ERROR_SUB403_CERT_REQUIRED         = 7;
  1428.   {$EXTERNALSYM MD_ERROR_SUB403_CERT_REQUIRED}
  1429.   MD_ERROR_SUB403_SITE_ACCESS_DENIED    = 8;
  1430.   {$EXTERNALSYM MD_ERROR_SUB403_SITE_ACCESS_DENIED}
  1431.   MD_ERROR_SUB403_TOO_MANY_USERS        = 9;
  1432.   {$EXTERNALSYM MD_ERROR_SUB403_TOO_MANY_USERS}
  1433.   MD_ERROR_SUB403_INVALID_CNFG          = 10;
  1434.   {$EXTERNALSYM MD_ERROR_SUB403_INVALID_CNFG}
  1435.   MD_ERROR_SUB403_PWD_CHANGE            = 11;
  1436.   {$EXTERNALSYM MD_ERROR_SUB403_PWD_CHANGE}
  1437.   MD_ERROR_SUB403_MAPPER_DENY_ACCESS    = 12;
  1438.   {$EXTERNALSYM MD_ERROR_SUB403_MAPPER_DENY_ACCESS}
  1439.   MD_ERROR_SUB403_CERT_REVOKED          = 13;
  1440.   {$EXTERNALSYM MD_ERROR_SUB403_CERT_REVOKED}
  1441.   MD_ERROR_SUB403_DIR_LIST_DENIED       = 14;
  1442.   {$EXTERNALSYM MD_ERROR_SUB403_DIR_LIST_DENIED}
  1443.   MD_ERROR_SUB403_CAL_EXCEEDED          = 15;
  1444.   {$EXTERNALSYM MD_ERROR_SUB403_CAL_EXCEEDED}
  1445.   MD_ERROR_SUB403_CERT_BAD              = 16;
  1446.   {$EXTERNALSYM MD_ERROR_SUB403_CERT_BAD}
  1447.   MD_ERROR_SUB403_CERT_TIME_INVALID     = 17;
  1448.   {$EXTERNALSYM MD_ERROR_SUB403_CERT_TIME_INVALID}
  1449.   MD_ERROR_SUB403_APPPOOL_DENIED        = 18;
  1450.   {$EXTERNALSYM MD_ERROR_SUB403_APPPOOL_DENIED}
  1451.   MD_ERROR_SUB403_INSUFFICIENT_PRIVILEGE_FOR_CGI = 19;
  1452.   {$EXTERNALSYM MD_ERROR_SUB403_INSUFFICIENT_PRIVILEGE_FOR_CGI}
  1453.   MD_ERROR_SUB403_PASSPORT_LOGIN_FAILURE = 20;
  1454.   {$EXTERNALSYM MD_ERROR_SUB403_PASSPORT_LOGIN_FAILURE}
  1455.   MD_ERROR_SUB404_SITE_NOT_FOUND       = 1;
  1456.   {$EXTERNALSYM MD_ERROR_SUB404_SITE_NOT_FOUND}
  1457.   MD_ERROR_SUB404_DENIED_BY_POLICY     = 2;
  1458.   {$EXTERNALSYM MD_ERROR_SUB404_DENIED_BY_POLICY}
  1459.   MD_ERROR_SUB404_DENIED_BY_MIMEMAP    = 3;
  1460.   {$EXTERNALSYM MD_ERROR_SUB404_DENIED_BY_MIMEMAP}
  1461.   MD_ERROR_SUB500_UNC_ACCESS           = 16;
  1462.   {$EXTERNALSYM MD_ERROR_SUB500_UNC_ACCESS}
  1463.   MD_ERROR_SUB500_URLAUTH_NO_STORE     = 17;
  1464.   {$EXTERNALSYM MD_ERROR_SUB500_URLAUTH_NO_STORE}
  1465.   MD_ERROR_SUB500_URLAUTH_STORE_ERROR  = 18;
  1466.   {$EXTERNALSYM MD_ERROR_SUB500_URLAUTH_STORE_ERROR}
  1467.   MD_ERROR_SUB500_BAD_METADATA         = 19;
  1468.   {$EXTERNALSYM MD_ERROR_SUB500_BAD_METADATA}
  1469.   MD_ERROR_SUB500_URLAUTH_NO_SCOPE     = 20;
  1470.   {$EXTERNALSYM MD_ERROR_SUB500_URLAUTH_NO_SCOPE}
  1471.   MD_ERROR_SUB502_TIMEOUT        = 1;
  1472.   {$EXTERNALSYM MD_ERROR_SUB502_TIMEOUT}
  1473.   MD_ERROR_SUB502_PREMATURE_EXIT = 2;
  1474.   {$EXTERNALSYM MD_ERROR_SUB502_PREMATURE_EXIT}
  1475.   MD_ERROR_SUB503_CPU_LIMIT = 1;
  1476.   {$EXTERNALSYM MD_ERROR_SUB503_CPU_LIMIT}
  1477. //
  1478. // Valid access rights for ACE entries in MD_ADMIN_ACL
  1479. //
  1480.   MD_ACR_READ                = $00000001;
  1481.   {$EXTERNALSYM MD_ACR_READ}
  1482.   MD_ACR_WRITE               = $00000002;
  1483.   {$EXTERNALSYM MD_ACR_WRITE}
  1484.   MD_ACR_RESTRICTED_WRITE    = $00000020;
  1485.   {$EXTERNALSYM MD_ACR_RESTRICTED_WRITE}
  1486.   MD_ACR_UNSECURE_PROPS_READ = $00000080;
  1487.   {$EXTERNALSYM MD_ACR_UNSECURE_PROPS_READ}
  1488.   MD_ACR_ENUM_KEYS           = $00000008;
  1489.   {$EXTERNALSYM MD_ACR_ENUM_KEYS}
  1490.   MD_ACR_WRITE_DAC           = $00040000;
  1491.   {$EXTERNALSYM MD_ACR_WRITE_DAC}
  1492. //
  1493. // Valid modes for MD_USER_ISOLATION
  1494. //
  1495.   MD_USER_ISOLATION_NONE    = 0;
  1496.   {$EXTERNALSYM MD_USER_ISOLATION_NONE}
  1497.   MD_USER_ISOLATION_BASIC   = 1;
  1498.   {$EXTERNALSYM MD_USER_ISOLATION_BASIC}
  1499.   MD_USER_ISOLATION_AD      = 2;
  1500.   {$EXTERNALSYM MD_USER_ISOLATION_AD}
  1501.   MD_USER_ISOLATION_LAST    = 2;
  1502.   {$EXTERNALSYM MD_USER_ISOLATION_LAST}
  1503. //
  1504. // MD_IP_SEC binary format description
  1505. //
  1506. (*
  1507.   This object is composed of 4 lists : 2 lists ( deny & grant ) of network addresses,
  1508.   the only allowed family is AF_INET.
  1509.   Each of this list is composed of sublists, one for each ( network address family,
  1510.   significant subnet mask ) combination. The significant subnet mask is stored as
  1511.   ( number of bytes all 1 ( 0xff ), bitmask in last byte ).
  1512.   This is followed by 2 lists ( deny & grant ) of DNS names. Each of these lists is
  1513.   composed of sublists, based on then number of components in the DNS name
  1514.   e.g. "microsoft.com" has 2 components, "www.msft.com" has 3.
  1515. Header:
  1516.     SELFREFINDEX    iDenyAddr;      // address deny list
  1517.                                     // points to ADDRESS_HEADER
  1518.     SELFREFINDEX    iGrantAddr;     // address grant list
  1519.                                     // points to ADDRESS_HEADER
  1520.     SELFREFINDEX    iDenyName;      // DNS name deny list
  1521.                                     // points to NAME_HEADER
  1522.     SELFREFINDEX    iGrantName;     // DNS name grant list
  1523.                                     // points to NAME_HEADER
  1524.     DWORD           dwFlags;
  1525.     DWORD           cRefSize;       // size of reference area ( in bytes )
  1526. ADDRESS_HEADER :
  1527.     DWORD               cEntries;   // # of Entries[]
  1528.     DWORD               cAddresses; // total # of addresses in all
  1529.                                     // ADDRESS_LIST_ENTRY
  1530.     ADDRESS_LIST_ENTRY  Entries[];
  1531. ADDRESS_LIST_ENTRY :
  1532.     DWORD           iFamily;
  1533.     DWORD           cAddresses;
  1534.     DWORD           cFullBytes;
  1535.     DWORD           LastByte;
  1536.     SELFREFINDEX    iFirstAddress;  // points to array of addresses
  1537. NAME_HEADER :
  1538.     DWORD           cEntries;
  1539.     DWORD           cNames;         // total # of names for all Entries[]
  1540.     NAME_LIST_ENTRY Entries[];
  1541. Name list entry :
  1542.     DWORD           cComponents;    // # of DNS components
  1543.     DWORD           cNames;
  1544.     SELFREFINDEX    iName[];        // array of references to DNS names
  1545. This is followed by address arrays & names pointed to by iFirstAddress & iName
  1546. Names are '' delimited
  1547. SELFREFINDEX is a DWORD offset from start of structure with high bit set to 1
  1548. *)
  1549. //
  1550. // Macros
  1551. //
  1552. (* todo
  1553. #define MD_SET_DATA_RECORD(_pMDR, _id, _attr, _utype, _dtype, _dlen, _pData) 
  1554.             { 
  1555.             (_pMDR)->dwMDIdentifier=(_id);      
  1556.             (_pMDR)->dwMDAttributes=(_attr);    
  1557.             (_pMDR)->dwMDUserType=(_utype);     
  1558.             (_pMDR)->dwMDDataType=(_dtype);     
  1559.             (_pMDR)->dwMDDataLen=(_dlen);       
  1560.             (_pMDR)->pbMDData=(LPBYTE)(_pData); 
  1561.             }
  1562. *)
  1563. //
  1564. // IIS ADSI Admin Object class names
  1565. //
  1566.   IIS_CLASS_COMPUTER         = 'IIsComputer';
  1567.   {$EXTERNALSYM IIS_CLASS_COMPUTER}
  1568.   IIS_CLASS_WEB_SERVICE      = 'IIsWebService';
  1569.   {$EXTERNALSYM IIS_CLASS_WEB_SERVICE}
  1570.   IIS_CLASS_WEB_SERVER       = 'IIsWebServer';
  1571.   {$EXTERNALSYM IIS_CLASS_WEB_SERVER}
  1572.   IIS_CLASS_WEB_INFO         = 'IIsWebInfo';
  1573.   {$EXTERNALSYM IIS_CLASS_WEB_INFO}
  1574.   IIS_CLASS_WEB_DIR          = 'IIsWebDirectory';
  1575.   {$EXTERNALSYM IIS_CLASS_WEB_DIR}
  1576.   IIS_CLASS_WEB_VDIR         = 'IIsWebVirtualDir';
  1577.   {$EXTERNALSYM IIS_CLASS_WEB_VDIR}
  1578.   IIS_CLASS_WEB_FILE         = 'IIsWebFile';
  1579.   {$EXTERNALSYM IIS_CLASS_WEB_FILE}
  1580.   IIS_CLASS_FTP_SERVICE      = 'IIsFtpService';
  1581.   {$EXTERNALSYM IIS_CLASS_FTP_SERVICE}
  1582.   IIS_CLASS_FTP_SERVER       = 'IIsFtpServer';
  1583.   {$EXTERNALSYM IIS_CLASS_FTP_SERVER}
  1584.   IIS_CLASS_FTP_INFO         = 'IIsFtpInfo';
  1585.   {$EXTERNALSYM IIS_CLASS_FTP_INFO}
  1586.   IIS_CLASS_FTP_VDIR         = 'IIsFtpVirtualDir';
  1587.   {$EXTERNALSYM IIS_CLASS_FTP_VDIR}
  1588.   IIS_CLASS_FILTERS          = 'IIsFilters';
  1589.   {$EXTERNALSYM IIS_CLASS_FILTERS}
  1590.   IIS_CLASS_FILTER           = 'IIsFilter';
  1591.   {$EXTERNALSYM IIS_CLASS_FILTER}
  1592.   IIS_CLASS_LOG_MODULES      = 'IIsLogModules';
  1593.   {$EXTERNALSYM IIS_CLASS_LOG_MODULES}
  1594.   IIS_CLASS_LOG_MODULE       = 'IIsLogModule';
  1595.   {$EXTERNALSYM IIS_CLASS_LOG_MODULE}
  1596.   IIS_CLASS_MIMEMAP          = 'IIsMimeMap';
  1597.   {$EXTERNALSYM IIS_CLASS_MIMEMAP}
  1598.   IIS_CLASS_CERTMAPPER       = 'IIsCertMapper';
  1599.   {$EXTERNALSYM IIS_CLASS_CERTMAPPER}
  1600.   IIS_CLASS_COMPRESS_SCHEMES = 'IIsCompressionSchemes';
  1601.   {$EXTERNALSYM IIS_CLASS_COMPRESS_SCHEMES}
  1602.   IIS_CLASS_COMPRESS_SCHEME  = 'IIsCompressionScheme';
  1603.   {$EXTERNALSYM IIS_CLASS_COMPRESS_SCHEME}
  1604.   IIS_CLASS_COMPUTER_W         = WideString('IIsComputer');
  1605.   {$EXTERNALSYM IIS_CLASS_COMPUTER_W}
  1606.   IIS_CLASS_WEB_SERVICE_W      = WideString('IIsWebService');
  1607.   {$EXTERNALSYM IIS_CLASS_WEB_SERVICE_W}
  1608.   IIS_CLASS_WEB_SERVER_W       = WideString('IIsWebServer');
  1609.   {$EXTERNALSYM IIS_CLASS_WEB_SERVER_W}
  1610.   IIS_CLASS_WEB_INFO_W         = WideString('IIsWebInfo');
  1611.   {$EXTERNALSYM IIS_CLASS_WEB_INFO_W}
  1612.   IIS_CLASS_WEB_DIR_W          = WideString('IIsWebDirectory');
  1613.   {$EXTERNALSYM IIS_CLASS_WEB_DIR_W}
  1614.   IIS_CLASS_WEB_VDIR_W         = WideString('IIsWebVirtualDir');
  1615.   {$EXTERNALSYM IIS_CLASS_WEB_VDIR_W}
  1616.   IIS_CLASS_WEB_FILE_W         = WideString('IIsWebFile');
  1617.   {$EXTERNALSYM IIS_CLASS_WEB_FILE_W}
  1618.   IIS_CLASS_FTP_SERVICE_W      = WideString('IIsFtpService');
  1619.   {$EXTERNALSYM IIS_CLASS_FTP_SERVICE_W}
  1620.   IIS_CLASS_FTP_SERVER_W       = WideString('IIsFtpServer');
  1621.   {$EXTERNALSYM IIS_CLASS_FTP_SERVER_W}
  1622.   IIS_CLASS_FTP_INFO_W         = WideString('IIsFtpInfo');
  1623.   {$EXTERNALSYM IIS_CLASS_FTP_INFO_W}
  1624.   IIS_CLASS_FTP_VDIR_W         = WideString('IIsFtpVirtualDir');
  1625.   {$EXTERNALSYM IIS_CLASS_FTP_VDIR_W}
  1626.   IIS_CLASS_FILTERS_W          = WideString('IIsFilters');
  1627.   {$EXTERNALSYM IIS_CLASS_FILTERS_W}
  1628.   IIS_CLASS_FILTER_W           = WideString('IIsFilter');
  1629.   {$EXTERNALSYM IIS_CLASS_FILTER_W}
  1630.   IIS_CLASS_LOG_MODULES_W      = WideString('IIsLogModules');
  1631.   {$EXTERNALSYM IIS_CLASS_LOG_MODULES_W}
  1632.   IIS_CLASS_LOG_MODULE_W       = WideString('IIsLogModule');
  1633.   {$EXTERNALSYM IIS_CLASS_LOG_MODULE_W}
  1634.   IIS_CLASS_MIMEMAP_W          = WideString('IIsMimeMap');
  1635.   {$EXTERNALSYM IIS_CLASS_MIMEMAP_W}
  1636.   IIS_CLASS_CERTMAPPER_W       = WideString('IIsCertMapper');
  1637.   {$EXTERNALSYM IIS_CLASS_CERTMAPPER_W}
  1638.   IIS_CLASS_COMPRESS_SCHEMES_W = WideString('IIsCompressionSchemes');
  1639.   {$EXTERNALSYM IIS_CLASS_COMPRESS_SCHEMES_W}
  1640.   IIS_CLASS_COMPRESS_SCHEME_W  = WideString('IIsCompressionScheme');
  1641.   {$EXTERNALSYM IIS_CLASS_COMPRESS_SCHEME_W}
  1642. implementation
  1643. end.