' ########################################################################################
' Microsoft Windows
' File: IIScnfg.inc
' Contents: Public Metadata IDs used by IIS
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_IIScnfg_PBI)
#DEFINE PBX_IIScnfg_PBI
%EQUATE `IISCNFG_INC = 1
'//
'// Paths
'//
$IIS_MD_LOCAL_MACHINE_PATH = "LM"
'//
'// Name of the default publishing root under an instance
'//
$IIS_MD_INSTANCE_ROOT = "Root"
'//
'// ISAPI Filters are kept in a list under the instances and the service (for
'// global filters) in the following format:
'//
'// LM/W3Svc/<Instance>/Filters
'// MD_FILTER_LOAD_ORDER "Filter1, Filter2, Filter3"
'//
'// LM/W3Svc/<Instance>/Filters/Filter1
'// MD_FILTER_IMAGE_PATH "d:\inetsrv\myfilter.dll"
'//
'// LM/W3Svc/<Instance>/Filters/Filter2
'// MD_FILTER_IMAGE_PATH "d:\inetsrv\otherfilter.dll"
'//
$IIS_MD_ISAPI_FILTERS = "/Filters"
'//
'// Path below each service to the key that publishes service information
'//
$IIS_MD_SVC_INFO_PATH = "Info"
'//
'// ADSI schema properties path
'//
$IIS_MD_ADSI_SCHEMA_PATH_A = "/Schema"
$$IIS_MD_ADSI_SCHEMA_PATH_W = "/Schema"$$
#IF %DEF(%UNICODE)
 MACRO IIS_MD_ADSI_SCHEMA_PATH = $IIS_MD_ADSI_SCHEMA_PATH_A
#ELSE
 MACRO IIS_MD_ADSI_SCHEMA_PATH = $$IIS_MD_ADSI_SCHEMA_PATH_W
#ENDIF
%EQUATE `IIS_MD_ADSI_METAID_BEGIN = 130000
'//
'// user types
'//
'// There are two user types:
'//
'// Server configuration - All the properties for configuring the server that
'// are not applicable to files and directories - such as Port, Host name,
'// Server comment, Connection timeout etc.
'//
'// File/Dir configuration - All the properties that can be configured down to
'// the files and directories - such as Access permissions (Read, Write etc),
'// Extension mapping, IP Security etc.
'//
%EQUATE `IIS_MD_UT_SERVER = 1 ' // Server configuration parameters
%EQUATE `IIS_MD_UT_FILE = 2 ' // File/Dir inheritable properties
%EQUATE `IIS_MD_UT_WAM = 100 ' // Web Application configuration parameters
%EQUATE `ASP_MD_UT_APP = 101 ' // ASP application configuration parameters
%EQUATE `IIS_MD_UT_END_RESERVED = 2000 ' // All user types below this are
 ' // reserved for IIS services
'//
'// Metabase property IDs must be unique. This table defines reserved ranges
'//
%EQUATE `IIS_MD_ID_BEGIN_RESERVED = &H00000001 ' // IIS reserved range
%EQUATE `IIS_MD_ID_END_RESERVED = &H00007fff
%EQUATE `ASP_MD_ID_BEGIN_RESERVED = &H00007000 ' // ASP reserved range, subrange of IIS.
%EQUATE `ASP_MD_ID_END_RESERVED = &H000074ff
%EQUATE `WAM_MD_ID_BEGIN_RESERVED = &H00007500 ' // ASP reserved range, subrange of IIS.
%EQUATE `WAM_MD_ID_END_RESERVED = &H00007fff
%EQUATE `FP_MD_ID_BEGIN_RESERVED = &H00008000 ' // Front page reserved range
%EQUATE `FP_MD_ID_END_RESERVED = &H00008fff
%EQUATE `SMTP_MD_ID_BEGIN_RESERVED = &H00009000
%EQUATE `SMTP_MD_ID_END_RESERVED = &H00009fff
%EQUATE `POP3_MD_ID_BEGIN_RESERVED = &H0000a000
%EQUATE `POP3_MD_ID_END_RESERVED = &H0000afff
%EQUATE `NNTP_MD_ID_BEGIN_RESERVED = &H0000b000
%EQUATE `NNTP_MD_ID_END_RESERVED = &H0000bfff
%EQUATE `IMAP_MD_ID_BEGIN_RESERVED = &H0000c000
%EQUATE `IMAP_MD_ID_END_RESERVED = &H0000cfff
%EQUATE `MSCS_MD_ID_BEGIN_RESERVED = &H0000d000
%EQUATE `MSCS_MD_ID_END_RESERVED = &H0000dfff
%EQUATE `APPCTR_MD_ID_BEGIN_RESERVED = &H0000e000
%EQUATE `APPCTR_MD_ID_END_RESERVED = &H0000efff
%EQUATE `USER_MD_ID_BASE_RESERVED = &H0000ffff
'//
'// General server related attributes - these should be added in the metabase
'// with a user type of IIS_MD_UT_SERVER
'//
%EQUATE `IIS_MD_SERVER_BASE = 1000
'//
'// These are global to all services and should only be set at
'// the IIS root
'//
%EQUATE `MD_MAX_BANDWIDTH = (%IIS_MD_SERVER_BASE+0)
%EQUATE `MD_KEY_TYPE = (%IIS_MD_SERVER_BASE+2)
%EQUATE `MD_MAX_BANDWIDTH_BLOCKED = (%IIS_MD_SERVER_BASE+3)
%EQUATE `MD_SCHEMA_METAID = (%IIS_MD_SERVER_BASE+4)
'//
'// These properties are applicable to both HTTP and FTP virtual
'// servers
'//
%EQUATE `MD_SERVER_COMMAND = (%IIS_MD_SERVER_BASE+12)
%EQUATE `MD_CONNECTION_TIMEOUT = (%IIS_MD_SERVER_BASE+13)
%EQUATE `MD_MAX_CONNECTIONS = (%IIS_MD_SERVER_BASE+14)
%EQUATE `MD_SERVER_COMMENT = (%IIS_MD_SERVER_BASE+15)
%EQUATE `MD_SERVER_STATE = (%IIS_MD_SERVER_BASE+16)
%EQUATE `MD_SERVER_AUTOSTART = (%IIS_MD_SERVER_BASE+17)
%EQUATE `MD_SERVER_SIZE = (%IIS_MD_SERVER_BASE+18)
%EQUATE `MD_SERVER_LISTEN_BACKLOG = (%IIS_MD_SERVER_BASE+19)
%EQUATE `MD_SERVER_LISTEN_TIMEOUT = (%IIS_MD_SERVER_BASE+20)
%EQUATE `MD_DOWNLEVEL_ADMIN_INSTANCE = (%IIS_MD_SERVER_BASE+21)
%EQUATE `MD_LEVELS_TO_SCAN = (%IIS_MD_SERVER_BASE+22)
%EQUATE `MD_SERVER_BINDINGS = (%IIS_MD_SERVER_BASE+23)
%EQUATE `MD_MAX_ENDPOINT_CONNECTIONS = (%IIS_MD_SERVER_BASE+24)
%EQUATE `MD_SERVER_CONFIGURATION_INFO = (%IIS_MD_SERVER_BASE+27)
%EQUATE `MD_IISADMIN_EXTENSIONS = (%IIS_MD_SERVER_BASE+28)
%EQUATE `MD_DISABLE_SOCKET_POOLING = (%IIS_MD_SERVER_BASE+29)
%EQUATE `MD_METADATA_ID_REGISTRATION = (%IIS_MD_SERVER_BASE+30)
'//
'// These properties are specific to HTTP and belong to the website
'//
%EQUATE `IIS_MD_HTTP_BASE = 2000
%EQUATE `MD_SECURE_BINDINGS = (%IIS_MD_HTTP_BASE+21)
%EQUATE `MD_BINDINGS = (%IIS_MD_HTTP_BASE+22)
%EQUATE `MD_ENABLEDPROTOCOLS = (%IIS_MD_HTTP_BASE+23)
%EQUATE `MD_FILTER_LOAD_ORDER = (%IIS_MD_HTTP_BASE+40)
%EQUATE `MD_FILTER_IMAGE_PATH = (%IIS_MD_HTTP_BASE+41)
%EQUATE `MD_FILTER_STATE = (%IIS_MD_HTTP_BASE+42)
%EQUATE `MD_FILTER_ENABLED = (%IIS_MD_HTTP_BASE+43)
%EQUATE `MD_FILTER_FLAGS = (%IIS_MD_HTTP_BASE+44)
%EQUATE `MD_FILTER_DESCRIPTION = (%IIS_MD_HTTP_BASE+45)
%EQUATE `MD_FILTER_ENABLE_CACHE = (%IIS_MD_HTTP_BASE+46)
%EQUATE `MD_ADV_NOTIFY_PWD_EXP_IN_DAYS = (%IIS_MD_HTTP_BASE+63)
%EQUATE `MD_ADV_CACHE_TTL = (%IIS_MD_HTTP_BASE+64)
%EQUATE `MD_NET_LOGON_WKS = (%IIS_MD_HTTP_BASE+65)
%EQUATE `MD_USE_HOST_NAME = (%IIS_MD_HTTP_BASE+66)
%EQUATE `MD_AUTH_CHANGE_FLAGS = (%IIS_MD_HTTP_BASE+68)
%EQUATE `MD_PROCESS_NTCR_IF_LOGGED_ON = (%IIS_MD_HTTP_BASE+70)
%EQUATE `MD_FRONTPAGE_WEB = (%IIS_MD_HTTP_BASE+72)
%EQUATE `MD_IN_PROCESS_ISAPI_APPS = (%IIS_MD_HTTP_BASE+73)
%EQUATE `MD_AUTH_CHANGE_URL = (%IIS_MD_HTTP_BASE+60)
%EQUATE `MD_AUTH_EXPIRED_URL = (%IIS_MD_HTTP_BASE+61)
%EQUATE `MD_AUTH_EXPIRED_UNSECUREURL = (%IIS_MD_HTTP_BASE+67)
%EQUATE `MD_ALLOW_PATH_INFO_FOR_SCRIPT_MAPPINGS = (%IIS_MD_HTTP_BASE+95)
%EQUATE `MD_APP_FRIENDLY_NAME = (%IIS_MD_HTTP_BASE+102)
%EQUATE `MD_APP_ROOT = (%IIS_MD_HTTP_BASE+103)
%EQUATE `MD_APP_ISOLATED = (%IIS_MD_HTTP_BASE+104)
%EQUATE `MD_APP_WAM_CLSID = (%IIS_MD_HTTP_BASE+105)
%EQUATE `MD_APP_PACKAGE_ID = (%IIS_MD_HTTP_BASE+106)
%EQUATE `MD_APP_PACKAGE_NAME = (%IIS_MD_HTTP_BASE+107)
%EQUATE `MD_APP_OOP_RECOVER_LIMIT = (%IIS_MD_HTTP_BASE+110)
%EQUATE `MD_APP_PERIODIC_RESTART_TIME = (%IIS_MD_HTTP_BASE+111)
%EQUATE `MD_APP_PERIODIC_RESTART_REQUESTS = (%IIS_MD_HTTP_BASE+112)
%EQUATE `MD_APP_PERIODIC_RESTART_SCHEDULE = (%IIS_MD_HTTP_BASE+113)
%EQUATE `MD_APP_SHUTDOWN_TIME_LIMIT = (%IIS_MD_HTTP_BASE+114)
%EQUATE `MD_ADMIN_INSTANCE = (%IIS_MD_HTTP_BASE+115)
'// This is only used by setup & UI
%EQUATE `MD_NOT_DELETABLE = (%IIS_MD_HTTP_BASE+116)
%EQUATE `MD_APP_TRACE_URL_LIST = (%IIS_MD_HTTP_BASE+118)
%EQUATE `MD_CENTRAL_W3C_LOGGING_ENABLED = (%IIS_MD_HTTP_BASE+119)
%EQUATE `MD_CUSTOM_ERROR_DESC = (%IIS_MD_HTTP_BASE+120)
'//
'// Client Access License parameters
'//
%EQUATE `MD_CAL_VC_PER_CONNECT = (%IIS_MD_HTTP_BASE+130)
%EQUATE `MD_CAL_AUTH_RESERVE_TIMEOUT = (%IIS_MD_HTTP_BASE+131)
%EQUATE `MD_CAL_SSL_RESERVE_TIMEOUT = (%IIS_MD_HTTP_BASE+132)
%EQUATE `MD_CAL_W3_ERROR = (%IIS_MD_HTTP_BASE+133)
'//
'// CPU Accounting and Throttling Properties
'//
'//
'// The enabled flags are per Application or CGI
'//
%EQUATE `MD_CPU_CGI_ENABLED = (%IIS_MD_HTTP_BASE+140)
%EQUATE `MD_CPU_APP_ENABLED = (%IIS_MD_HTTP_BASE+141)
%EQUATE `MD_CPU_LIMITS_ENABLED = (%IIS_MD_HTTP_BASE+143)
%EQUATE `MD_CPU_RESET_INTERVAL = (%IIS_MD_HTTP_BASE+144)
%EQUATE `MD_CPU_LOGGING_INTERVAL = (%IIS_MD_HTTP_BASE+145)
%EQUATE `MD_CPU_LOGGING_OPTIONS = (%IIS_MD_HTTP_BASE+146)
%EQUATE `MD_CPU_CGI_LIMIT = (%IIS_MD_HTTP_BASE+148)
%EQUATE `MD_CPU_LIMIT_LOGEVENT = (%IIS_MD_HTTP_BASE+149)
%EQUATE `MD_CPU_LIMIT_PRIORITY = (%IIS_MD_HTTP_BASE+150)
%EQUATE `MD_CPU_LIMIT_PROCSTOP = (%IIS_MD_HTTP_BASE+151)
%EQUATE `MD_CPU_LIMIT_PAUSE = (%IIS_MD_HTTP_BASE+152)
%EQUATE `MD_SET_HOST_NAME = (%IIS_MD_HTTP_BASE+154)
'//
'// Valid values for CPU Accounting's MD_CPU_LOGGING_OPTIONS field
'//
%EQUATE `MD_CPU_DISABLE_ALL_LOGGING = &H0
%EQUATE `MD_CPU_ENABLE_ALL_PROC_LOGGING = &H1
%EQUATE `MD_CPU_ENABLE_CGI_LOGGING = &H2
%EQUATE `MD_CPU_ENABLE_APP_LOGGING = &H4
'//
'// Valid values for CPU Accounting's MD_CPU_LOGGING_MASK field
'// This defines which fields will be logged
'//
%EQUATE `MD_CPU_ENABLE_EVENT = &H01
%EQUATE `MD_CPU_ENABLE_PROC_TYPE = &H02
%EQUATE `MD_CPU_ENABLE_USER_TIME = &H04
%EQUATE `MD_CPU_ENABLE_KERNEL_TIME = &H08
%EQUATE `MD_CPU_ENABLE_PAGE_FAULTS = &H10
%EQUATE `MD_CPU_ENABLE_TOTAL_PROCS = &H20
%EQUATE `MD_CPU_ENABLE_ACTIVE_PROCS = &H40
%EQUATE `MD_CPU_ENABLE_TERMINATED_PROCS = &H80
%EQUATE `MD_CPU_ENABLE_LOGGING = &H80000000
'//
'// Site Server properties
'//
'//
'// Properties to disable/restrict request handlers.
'//
%EQUATE `MD_ISAPI_RESTRICTION_LIST = (%IIS_MD_HTTP_BASE+163)
%EQUATE `MD_CGI_RESTRICTION_LIST = (%IIS_MD_HTTP_BASE+164)
%EQUATE `MD_RESTRICTION_LIST_CUSTOM_DESC = (%IIS_MD_HTTP_BASE+165)
%EQUATE `MD_SECURITY_SETUP_REQUIRED = (%IIS_MD_HTTP_BASE+166)
%EQUATE `MD_APP_DEPENDENCIES = (%IIS_MD_HTTP_BASE+167)
%EQUATE `MD_WEB_SVC_EXT_RESTRICTION_LIST = (%IIS_MD_HTTP_BASE+168)
%EQUATE `MD_MD_SERVER_SS_AUTH_MAPPING = (%IIS_MD_HTTP_BASE+200)
'//
'// valid values for MD_CERT_CHECK_MODE
'//
%EQUATE `MD_CERT_NO_REVOC_CHECK = &H00000001
%EQUATE `MD_CERT_CACHE_RETRIEVAL_ONLY = &H00000002
%EQUATE `MD_CERT_CHECK_REVOCATION_FRESHNESS_TIME = &H00000004
%EQUATE `MD_CERT_NO_USAGE_CHECK = &H00010000
'//
'// HTTP Compression properties. All are global and unheritable.
'//
%EQUATE `MD_HC_COMPRESSION_DIRECTORY = (%IIS_MD_HTTP_BASE+210)
%EQUATE `MD_HC_CACHE_CONTROL_HEADER = (%IIS_MD_HTTP_BASE+211)
%EQUATE `MD_HC_EXPIRES_HEADER = (%IIS_MD_HTTP_BASE+212)
%EQUATE `MD_HC_DO_DYNAMIC_COMPRESSION = (%IIS_MD_HTTP_BASE+213)
%EQUATE `MD_HC_DO_STATIC_COMPRESSION = (%IIS_MD_HTTP_BASE+214)
%EQUATE `MD_HC_DO_ON_DEMAND_COMPRESSION = (%IIS_MD_HTTP_BASE+215)
%EQUATE `MD_HC_DO_DISK_SPACE_LIMITING = (%IIS_MD_HTTP_BASE+216)
%EQUATE `MD_HC_NO_COMPRESSION_FOR_HTTP_10 = (%IIS_MD_HTTP_BASE+217)
%EQUATE `MD_HC_NO_COMPRESSION_FOR_PROXIES = (%IIS_MD_HTTP_BASE+218)
%EQUATE `MD_HC_NO_COMPRESSION_FOR_RANGE = (%IIS_MD_HTTP_BASE+219)
%EQUATE `MD_HC_SEND_CACHE_HEADERS = (%IIS_MD_HTTP_BASE+220)
%EQUATE `MD_HC_MAX_DISK_SPACE_USAGE = (%IIS_MD_HTTP_BASE+221)
%EQUATE `MD_HC_IO_BUFFER_SIZE = (%IIS_MD_HTTP_BASE+222)
%EQUATE `MD_HC_COMPRESSION_BUFFER_SIZE = (%IIS_MD_HTTP_BASE+223)
%EQUATE `MD_HC_MAX_QUEUE_LENGTH = (%IIS_MD_HTTP_BASE+224)
%EQUATE `MD_HC_FILES_DELETED_PER_DISK_FREE = (%IIS_MD_HTTP_BASE+225)
%EQUATE `MD_HC_MIN_FILE_SIZE_FOR_COMP = (%IIS_MD_HTTP_BASE+226)
%EQUATE `MD_HC_COMPRESSION_DLL = (%IIS_MD_HTTP_BASE+237)
%EQUATE `MD_HC_FILE_EXTENSIONS = (%IIS_MD_HTTP_BASE+238)
%EQUATE `MD_HC_MIME_TYPE = (%IIS_MD_HTTP_BASE+239)
%EQUATE `MD_HC_PRIORITY = (%IIS_MD_HTTP_BASE+240)
%EQUATE `MD_HC_DYNAMIC_COMPRESSION_LEVEL = (%IIS_MD_HTTP_BASE+241)
%EQUATE `MD_HC_ON_DEMAND_COMP_LEVEL = (%IIS_MD_HTTP_BASE+242)
%EQUATE `MD_HC_CREATE_FLAGS = (%IIS_MD_HTTP_BASE+243)
%EQUATE `MD_HC_SCRIPT_FILE_EXTENSIONS = (%IIS_MD_HTTP_BASE+244)
%EQUATE `MD_HC_DO_NAMESPACE_DYNAMIC_COMPRESSION = (%IIS_MD_HTTP_BASE+255)
%EQUATE `MD_HC_DO_NAMESPACE_STATIC_COMPRESSION = (%IIS_MD_HTTP_BASE+256)
'//
'// Generic property indicating a failure status code - Can be used under
'// any component that can fail (virtual directory, filters, applications etc)
'//
%EQUATE `MD_WIN32_ERROR = (%IIS_MD_SERVER_BASE+99 )
'//
'// Virtual root properties - note MD_ACCESS_PERM is also generally set at
'// the virtual directory. These are used for both HTTP and FTP
'//
%EQUATE `IIS_MD_VR_BASE = 3000
%EQUATE `MD_VR_PATH = (%IIS_MD_VR_BASE+1)
%EQUATE `MD_VR_USERNAME = (%IIS_MD_VR_BASE+2)
%EQUATE `MD_VR_PASSWORD = (%IIS_MD_VR_BASE+3)
%EQUATE `MD_VR_PASSTHROUGH = (%IIS_MD_VR_BASE+6)
%EQUATE `MD_VR_NO_CACHE = (%IIS_MD_VR_BASE+7)
%EQUATE `MD_VR_IGNORE_TRANSLATE = (%IIS_MD_VR_BASE+8)
'//
'// Logging related attributes
'//
%EQUATE `IIS_MD_LOG_BASE = 4000
%EQUATE `MD_LOG_TYPE = (%IIS_MD_LOG_BASE+0)
%EQUATE `MD_LOGFILE_DIRECTORY = (%IIS_MD_LOG_BASE+1)
%EQUATE `MD_LOG_UNUSED1 = (%IIS_MD_LOG_BASE+2)
%EQUATE `MD_LOGFILE_PERIOD = (%IIS_MD_LOG_BASE+3)
%EQUATE `MD_LOGFILE_TRUNCATE_SIZE = (%IIS_MD_LOG_BASE+4)
%EQUATE `MD_LOG_PLUGIN_MOD_ID = (%IIS_MD_LOG_BASE+5)
%EQUATE `MD_LOG_PLUGIN_UI_ID = (%IIS_MD_LOG_BASE+6)
%EQUATE `MD_LOGSQL_DATA_SOURCES = (%IIS_MD_LOG_BASE+7)
%EQUATE `MD_LOGSQL_TABLE_NAME = (%IIS_MD_LOG_BASE+8)
%EQUATE `MD_LOGSQL_USER_NAME = (%IIS_MD_LOG_BASE+9)
%EQUATE `MD_LOGSQL_PASSWORD = (%IIS_MD_LOG_BASE+10)
%EQUATE `MD_LOG_PLUGIN_ORDER = (%IIS_MD_LOG_BASE+11)
%EQUATE `MD_LOG_PLUGINS_AVAILABLE = (%IIS_MD_LOG_BASE+12)
%EQUATE `MD_LOGEXT_FIELD_MASK = (%IIS_MD_LOG_BASE+13)
%EQUATE `MD_LOGEXT_FIELD_MASK2 = (%IIS_MD_LOG_BASE+14)
'//
'// Allow W3C logging file naming and rollover based on Local Time
'//
%EQUATE `MD_LOGFILE_LOCALTIME_ROLLOVER = (%IIS_MD_LOG_BASE+15 )
%EQUATE `IIS_MD_LOG_LAST = %MD_LOGFILE_LOCALTIME_ROLLOVER
'//
'// Global Flag to denote that IIS will generate one centralized
'// binary log file rather than a separate file per web site
'//
%EQUATE `MD_GLOBAL_BINARY_LOGGING_ENABLED = (%IIS_MD_LOG_BASE+16 )
'//
'// Log type
'//
%EQUATE `MD_LOG_TYPE_DISABLED = 0
%EQUATE `MD_LOG_TYPE_ENABLED = 1
'//
'// LOGGING values
'//
%EQUATE `MD_LOGFILE_PERIOD_NONE = 0
%EQUATE `MD_LOGFILE_PERIOD_MAXSIZE = 0
%EQUATE `MD_LOGFILE_PERIOD_DAILY = 1
%EQUATE `MD_LOGFILE_PERIOD_WEEKLY = 2
%EQUATE `MD_LOGFILE_PERIOD_MONTHLY = 3
%EQUATE `MD_LOGFILE_PERIOD_HOURLY = 4
'//
'// Field masks for extended logging
'// Fields are logged in order of increasing mask value
'//
%EQUATE `MD_EXTLOG_DATE = &H00000001
%EQUATE `MD_EXTLOG_TIME = &H00000002
%EQUATE `MD_EXTLOG_CLIENT_IP = &H00000004
%EQUATE `MD_EXTLOG_USERNAME = &H00000008
%EQUATE `MD_EXTLOG_SITE_NAME = &H00000010
%EQUATE `MD_EXTLOG_COMPUTER_NAME = &H00000020
%EQUATE `MD_EXTLOG_SERVER_IP = &H00000040
%EQUATE `MD_EXTLOG_METHOD = &H00000080
%EQUATE `MD_EXTLOG_URI_STEM = &H00000100
%EQUATE `MD_EXTLOG_URI_QUERY = &H00000200
%EQUATE `MD_EXTLOG_HTTP_STATUS = &H00000400
%EQUATE `MD_EXTLOG_WIN32_STATUS = &H00000800
%EQUATE `MD_EXTLOG_BYTES_SENT = &H00001000
%EQUATE `MD_EXTLOG_BYTES_RECV = &H00002000
%EQUATE `MD_EXTLOG_TIME_TAKEN = &H00004000
%EQUATE `MD_EXTLOG_SERVER_PORT = &H00008000
%EQUATE `MD_EXTLOG_USER_AGENT = &H00010000
%EQUATE `MD_EXTLOG_COOKIE = &H00020000
%EQUATE `MD_EXTLOG_REFERER = &H00040000
%EQUATE `MD_EXTLOG_PROTOCOL_VERSION = &H00080000
%EQUATE `MD_EXTLOG_HOST = &H00100000
%EQUATE `MD_EXTLOG_HTTP_SUB_STATUS = &H00200000
%EQUATE `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 OR %MD_EXTLOG_HTTP_SUB_STATUS)
'//
'// Custom Logging related attributes
'//
%EQUATE `IIS_MD_LOGCUSTOM_BASE = 4500
'//
'// Custom Logging configuration attributes
'//
%EQUATE `MD_LOGCUSTOM_PROPERTY_NAME = (%IIS_MD_LOGCUSTOM_BASE+1)
%EQUATE `MD_LOGCUSTOM_PROPERTY_HEADER = (%IIS_MD_LOGCUSTOM_BASE+2)
%EQUATE `MD_LOGCUSTOM_PROPERTY_ID = (%IIS_MD_LOGCUSTOM_BASE+3)
%EQUATE `MD_LOGCUSTOM_PROPERTY_MASK = (%IIS_MD_LOGCUSTOM_BASE+4)
%EQUATE `MD_LOGCUSTOM_PROPERTY_DATATYPE = (%IIS_MD_LOGCUSTOM_BASE+5)
%EQUATE `MD_LOGCUSTOM_SERVICES_STRING = (%IIS_MD_LOGCUSTOM_BASE+6) ' // MultiSZ List of services that the property is applicable to.
%EQUATE `MD_CPU_LOGGING_MASK = (%IIS_MD_LOGCUSTOM_BASE+7)
%EQUATE `MD_LOGCUSTOM_PROPERTY_NODE_ID = (%IIS_MD_LOGCUSTOM_BASE+8)
%EQUATE `IIS_MD_LOGCUSTOM_LAST = %MD_LOGCUSTOM_PROPERTY_NODE_ID
'//
'// Valid values for Custom Logging's MD_LOGCUSTOM_PROPERTY_DATATYPE field
'//
%EQUATE `MD_LOGCUSTOM_DATATYPE_INT = 0
%EQUATE `MD_LOGCUSTOM_DATATYPE_UINT = 1
%EQUATE `MD_LOGCUSTOM_DATATYPE_LONG = 2
%EQUATE `MD_LOGCUSTOM_DATATYPE_ULONG = 3
%EQUATE `MD_LOGCUSTOM_DATATYPE_FLOAT = 4
%EQUATE `MD_LOGCUSTOM_DATATYPE_DOUBLE = 5
%EQUATE `MD_LOGCUSTOM_DATATYPE_LPSTR = 6
%EQUATE `MD_LOGCUSTOM_DATATYPE_LPWSTR = 7
'//
'// ISAPI Filter Notification Flags
'//
%EQUATE `MD_NOTIFY_SECURE_PORT = &H00000001
%EQUATE `MD_NOTIFY_NONSECURE_PORT = &H00000002
%EQUATE `MD_NOTIFY_READ_RAW_DATA = &H00008000
%EQUATE `MD_NOTIFY_PREPROC_HEADERS = &H00004000
%EQUATE `MD_NOTIFY_AUTHENTICATION = &H00002000
%EQUATE `MD_NOTIFY_URL_MAP = &H00001000
%EQUATE `MD_NOTIFY_ACCESS_DENIED = &H00000800
%EQUATE `MD_NOTIFY_SEND_RESPONSE = &H00000040
%EQUATE `MD_NOTIFY_SEND_RAW_DATA = &H00000400
%EQUATE `MD_NOTIFY_LOG = &H00000200
%EQUATE `MD_NOTIFY_END_OF_REQUEST = &H00000080
%EQUATE `MD_NOTIFY_END_OF_NET_SESSION = &H00000100
%EQUATE `MD_NOTIFY_AUTH_COMPLETE = &H04000000
'//
'// ISAPI Filter ordering flags
'//
%EQUATE `MD_NOTIFY_ORDER_HIGH = &H00080000
%EQUATE `MD_NOTIFY_ORDER_MEDIUM = &H00040000
%EQUATE `MD_NOTIFY_ORDER_LOW = &H00020000
%EQUATE `MD_NOTIFY_ORDER_DEFAULT = %MD_NOTIFY_ORDER_LOW
%EQUATE `MD_NOTIFY_ORDER_MASK = (%MD_NOTIFY_ORDER_HIGH OR %MD_NOTIFY_ORDER_MEDIUM OR %MD_NOTIFY_ORDER_LOW)
'//
'// These are FTP specific properties
'//
%EQUATE `IIS_MD_FTP_BASE = 5000
%EQUATE `MD_EXIT_MESSAGE = (%IIS_MD_FTP_BASE+1)
%EQUATE `MD_GREETING_MESSAGE = (%IIS_MD_FTP_BASE+2)
%EQUATE `MD_MAX_CLIENTS_MESSAGE = (%IIS_MD_FTP_BASE+3)
%EQUATE `MD_MSDOS_DIR_OUTPUT = (%IIS_MD_FTP_BASE+4)
%EQUATE `MD_ALLOW_ANONYMOUS = (%IIS_MD_FTP_BASE+5)
%EQUATE `MD_ANONYMOUS_ONLY = (%IIS_MD_FTP_BASE+6)
%EQUATE `MD_LOG_ANONYMOUS = (%IIS_MD_FTP_BASE+7)
%EQUATE `MD_LOG_NONANONYMOUS = (%IIS_MD_FTP_BASE+8)
%EQUATE `MD_ALLOW_REPLACE_ON_RENAME = (%IIS_MD_FTP_BASE+9)
%EQUATE `MD_SHOW_4_DIGIT_YEAR = (%IIS_MD_FTP_BASE+10)
%EQUATE `MD_BANNER_MESSAGE = (%IIS_MD_FTP_BASE+11)
%EQUATE `MD_USER_ISOLATION = (%IIS_MD_FTP_BASE+12)
%EQUATE `MD_FTP_LOG_IN_UTF_8 = (%IIS_MD_FTP_BASE+13)
%EQUATE `MD_AD_CONNECTIONS_USERNAME = (%IIS_MD_FTP_BASE+14)
%EQUATE `MD_AD_CONNECTIONS_PASSWORD = (%IIS_MD_FTP_BASE+15)
%EQUATE `MD_PASSIVE_PORT_RANGE = (%IIS_MD_FTP_BASE+16)
%EQUATE `MD_SUPPRESS_DEFAULT_BANNER = (%IIS_MD_FTP_BASE+17)
%EQUATE `MD_FTP_PASV_RESPONSE_IP = (%IIS_MD_FTP_BASE+18)
%EQUATE `MD_FTP_KEEP_PARTIAL_UPLOADS = (%IIS_MD_FTP_BASE+19)
%EQUATE `MD_FTP_UTF8_FILE_NAMES = (%IIS_MD_FTP_BASE+20)
'//
'// FTPS properties.
'//
%EQUATE `MD_FTPS_SECURE_CONTROL_CHANNEL = (%IIS_MD_FTP_BASE+50)
%EQUATE `MD_FTPS_SECURE_DATA_CHANNEL = (%IIS_MD_FTP_BASE+51)
%EQUATE `MD_FTPS_SECURE_ANONYMOUS = (%IIS_MD_FTP_BASE+52)
%EQUATE `MD_FTPS_128_BITS = (%IIS_MD_FTP_BASE+53)
%EQUATE `MD_FTPS_ALLOW_CCC = (%IIS_MD_FTP_BASE+54)
'//
'// These are SSL specific properties
'//
%EQUATE `IIS_MD_SSL_BASE = 5500
%EQUATE `MD_SSL_PUBLIC_KEY = (%IIS_MD_SSL_BASE+0)
%EQUATE `MD_SSL_PRIVATE_KEY = (%IIS_MD_SSL_BASE+1)
%EQUATE `MD_SSL_KEY_PASSWORD = (%IIS_MD_SSL_BASE+2)
%EQUATE `MD_SSL_KEY_REQUEST = (%IIS_MD_SSL_BASE+3)
'//
'// These are server certificate properties
'//
'//
'// These are Certificate Trust List properties
'//
'//
'// Metabase property that defines whether to use DS mapper or not
'//
%EQUATE `MD_SSL_USE_DS_MAPPER = (%IIS_MD_SSL_BASE+19)
%EQUATE `MD_SSL_ALWAYS_NEGO_CLIENT_CERT = (%IIS_MD_SSL_BASE+21)
'//
'// Metabase properties that are used by the CertWiz ActiveX control, that
'// is used for the Certificate/CTL UI management tool
'//
'//
'// Metabase properties used for Fortezza certificates
'//
'//
'// Metabase properties that are used by the CertWiz ActiveX control to keep
'// track of the user's entry history, and whether DEBUG is enabled. We keep
'// these private properties on a per VS basis.
'//
'// File and Directory related properties - these should be added in the
'// metabase with a user type of IIS_MD_UT_FILE
'//
%EQUATE `IIS_MD_FILE_PROP_BASE = 6000
%EQUATE `MD_AUTHORIZATION = (%IIS_MD_FILE_PROP_BASE)
%EQUATE `MD_REALM = (%IIS_MD_FILE_PROP_BASE+1)
%EQUATE `MD_HTTP_EXPIRES = (%IIS_MD_FILE_PROP_BASE+2)
%EQUATE `MD_HTTP_PICS = (%IIS_MD_FILE_PROP_BASE+3)
%EQUATE `MD_HTTP_CUSTOM = (%IIS_MD_FILE_PROP_BASE+4)
%EQUATE `MD_DIRECTORY_BROWSING = (%IIS_MD_FILE_PROP_BASE+5)
%EQUATE `MD_DEFAULT_LOAD_FILE = (%IIS_MD_FILE_PROP_BASE+6)
%EQUATE `MD_CUSTOM_ERROR = (%IIS_MD_FILE_PROP_BASE+8)
%EQUATE `MD_FOOTER_DOCUMENT = (%IIS_MD_FILE_PROP_BASE+9)
%EQUATE `MD_FOOTER_ENABLED = (%IIS_MD_FILE_PROP_BASE+10)
%EQUATE `MD_HTTP_REDIRECT = (%IIS_MD_FILE_PROP_BASE+11)
%EQUATE `MD_DEFAULT_LOGON_DOMAIN = (%IIS_MD_FILE_PROP_BASE+12)
%EQUATE `MD_LOGON_METHOD = (%IIS_MD_FILE_PROP_BASE+13)
%EQUATE `MD_SCRIPT_MAPS = (%IIS_MD_FILE_PROP_BASE+14)
%EQUATE `MD_MIME_MAP = (%IIS_MD_FILE_PROP_BASE+15)
%EQUATE `MD_ACCESS_PERM = (%IIS_MD_FILE_PROP_BASE+16)
%EQUATE `MD_IP_SEC = (%IIS_MD_FILE_PROP_BASE+19)
%EQUATE `MD_ANONYMOUS_USER_NAME = (%IIS_MD_FILE_PROP_BASE+20)
%EQUATE `MD_ANONYMOUS_PWD = (%IIS_MD_FILE_PROP_BASE+21)
%EQUATE `MD_ANONYMOUS_USE_SUBAUTH = (%IIS_MD_FILE_PROP_BASE+22)
%EQUATE `MD_DONT_LOG = (%IIS_MD_FILE_PROP_BASE+23)
%EQUATE `MD_ADMIN_ACL = (%IIS_MD_FILE_PROP_BASE+27)
%EQUATE `MD_SSI_EXEC_DISABLED = (%IIS_MD_FILE_PROP_BASE+28)
%EQUATE `MD_DO_REVERSE_DNS = (%IIS_MD_FILE_PROP_BASE+29)
%EQUATE `MD_SSL_ACCESS_PERM = (%IIS_MD_FILE_PROP_BASE+30)
%EQUATE `MD_AUTHORIZATION_PERSISTENCE = (%IIS_MD_FILE_PROP_BASE+31)
%EQUATE `MD_NTAUTHENTICATION_PROVIDERS = (%IIS_MD_FILE_PROP_BASE+32)
%EQUATE `MD_SCRIPT_TIMEOUT = (%IIS_MD_FILE_PROP_BASE+33)
%EQUATE `MD_CACHE_EXTENSIONS = (%IIS_MD_FILE_PROP_BASE+34)
%EQUATE `MD_CREATE_PROCESS_AS_USER = (%IIS_MD_FILE_PROP_BASE+35)
%EQUATE `MD_CREATE_PROC_NEW_CONSOLE = (%IIS_MD_FILE_PROP_BASE+36)
%EQUATE `MD_POOL_IDC_TIMEOUT = (%IIS_MD_FILE_PROP_BASE+37)
%EQUATE `MD_ALLOW_KEEPALIVES = (%IIS_MD_FILE_PROP_BASE+38)
%EQUATE `MD_IS_CONTENT_INDEXED = (%IIS_MD_FILE_PROP_BASE+39)
%EQUATE `MD_CC_NO_CACHE = (%IIS_MD_FILE_PROP_BASE+41)
%EQUATE `MD_CC_MAX_AGE = (%IIS_MD_FILE_PROP_BASE+42)
%EQUATE `MD_CC_OTHER = (%IIS_MD_FILE_PROP_BASE+43)
%EQUATE `MD_REDIRECT_HEADERS = (%IIS_MD_FILE_PROP_BASE+44)
%EQUATE `MD_UPLOAD_READAHEAD_SIZE = (%IIS_MD_FILE_PROP_BASE+45)
%EQUATE `MD_PUT_READ_SIZE = (%IIS_MD_FILE_PROP_BASE+46)
%EQUATE `MD_USE_DIGEST_SSP = (%IIS_MD_FILE_PROP_BASE+47)
%EQUATE `MD_ENABLE_URL_AUTHORIZATION = (%IIS_MD_FILE_PROP_BASE+48)
%EQUATE `MD_URL_AUTHORIZATION_STORE_NAME = (%IIS_MD_FILE_PROP_BASE+49)
%EQUATE `MD_URL_AUTHORIZATION_SCOPE_NAME = (%IIS_MD_FILE_PROP_BASE+50)
%EQUATE `MD_MAX_REQUEST_ENTITY_ALLOWED = (%IIS_MD_FILE_PROP_BASE+51)
%EQUATE `MD_PASSPORT_REQUIRE_AD_MAPPING = (%IIS_MD_FILE_PROP_BASE+52)
%EQUATE `MD_URL_AUTHORIZATION_IMPERSONATION_LEVEL = (%IIS_MD_FILE_PROP_BASE+53)
%EQUATE `MD_HTTP_FORWARDER_CUSTOM = (%IIS_MD_FILE_PROP_BASE+54)
%EQUATE `MD_CUSTOM_DEPLOYMENT_DATA = (%IIS_MD_FILE_PROP_BASE+55)
%EQUATE `MD_HTTPERRORS_EXISTING_RESPONSE = (%IIS_MD_FILE_PROP_BASE+56)
%EQUATE `ASP_MD_SERVER_BASE = 7000
%EQUATE `MD_ASP_BUFFERINGON = (%ASP_MD_SERVER_BASE + 0)
%EQUATE `MD_ASP_LOGERRORREQUESTS = (%ASP_MD_SERVER_BASE + 1)
%EQUATE `MD_ASP_SCRIPTERRORSSENTTOBROWSER = (%ASP_MD_SERVER_BASE + 2)
%EQUATE `MD_ASP_SCRIPTERRORMESSAGE = (%ASP_MD_SERVER_BASE + 3)
%EQUATE `MD_ASP_SCRIPTFILECACHESIZE = (%ASP_MD_SERVER_BASE + 4)
%EQUATE `MD_ASP_SCRIPTENGINECACHEMAX = (%ASP_MD_SERVER_BASE + 5)
%EQUATE `MD_ASP_SCRIPTTIMEOUT = (%ASP_MD_SERVER_BASE + 6)
%EQUATE `MD_ASP_SESSIONTIMEOUT = (%ASP_MD_SERVER_BASE + 7)
%EQUATE `MD_ASP_ENABLEPARENTPATHS = (%ASP_MD_SERVER_BASE + 8)
%EQUATE `MD_ASP_MEMFREEFACTOR = (%ASP_MD_SERVER_BASE + 9) ' // OBSOLETE
%EQUATE `MD_ASP_MINUSEDBLOCKS = (%ASP_MD_SERVER_BASE + 10) ' // OBSOLETE
%EQUATE `MD_ASP_ALLOWSESSIONSTATE = (%ASP_MD_SERVER_BASE + 11)
%EQUATE `MD_ASP_SCRIPTLANGUAGE = (%ASP_MD_SERVER_BASE + 12)
%EQUATE `MD_ASP_QUEUETIMEOUT = (%ASP_MD_SERVER_BASE + 13)
%EQUATE `MD_ASP_ALLOWOUTOFPROCCOMPONENTS = (%ASP_MD_SERVER_BASE + 14)
%EQUATE `MD_ASP_ALLOWOUTOFPROCCMPNTS = (%MD_ASP_ALLOWOUTOFPROCCOMPONENTS) ' // Deprecated. Use MD_ASP_ALLOWOUTOFPROCCMPNTS
%EQUATE `MD_ASP_EXCEPTIONCATCHENABLE = (%ASP_MD_SERVER_BASE + 15)
%EQUATE `MD_ASP_CODEPAGE = (%ASP_MD_SERVER_BASE + 16)
%EQUATE `MD_ASP_SCRIPTLANGUAGELIST = (%ASP_MD_SERVER_BASE + 17)
%EQUATE `MD_ASP_ENABLESERVERDEBUG = (%ASP_MD_SERVER_BASE + 18)
%EQUATE `MD_ASP_ENABLECLIENTDEBUG = (%ASP_MD_SERVER_BASE + 19)
%EQUATE `MD_ASP_TRACKTHREADINGMODEL = (%ASP_MD_SERVER_BASE + 20)
'// added for IIS 5.0
%EQUATE `MD_ASP_ENABLEASPHTMLFALLBACK = (%ASP_MD_SERVER_BASE + 21)
%EQUATE `MD_ASP_ENABLECHUNKEDENCODING = (%ASP_MD_SERVER_BASE + 22)
%EQUATE `MD_ASP_ENABLETYPELIBCACHE = (%ASP_MD_SERVER_BASE + 23)
%EQUATE `MD_ASP_ERRORSTONTLOG = (%ASP_MD_SERVER_BASE + 24)
%EQUATE `MD_ASP_PROCESSORTHREADMAX = (%ASP_MD_SERVER_BASE + 25)
%EQUATE `MD_ASP_REQEUSTQUEUEMAX = (%ASP_MD_SERVER_BASE + 26)
%EQUATE `MD_ASP_ENABLEAPPLICATIONRESTART = (%ASP_MD_SERVER_BASE + 27)
%EQUATE `MD_ASP_QUEUECONNECTIONTESTTIME = (%ASP_MD_SERVER_BASE + 28)
%EQUATE `MD_ASP_SESSIONMAX = (%ASP_MD_SERVER_BASE + 29)
'// thread gate
%EQUATE `MD_ASP_THREADGATEENABLED = (%ASP_MD_SERVER_BASE + 30)
%EQUATE `MD_ASP_THREADGATETIMESLICE = (%ASP_MD_SERVER_BASE + 31)
%EQUATE `MD_ASP_THREADGATESLEEPDELAY = (%ASP_MD_SERVER_BASE + 32)
%EQUATE `MD_ASP_THREADGATESLEEPMAX = (%ASP_MD_SERVER_BASE + 33)
%EQUATE `MD_ASP_THREADGATELOADLOW = (%ASP_MD_SERVER_BASE + 34)
%EQUATE `MD_ASP_THREADGATELOADHIGH = (%ASP_MD_SERVER_BASE + 35)
'// added IIS5.1
'// persist template cache
%EQUATE `MD_ASP_DISKTEMPLATECACHEDIRECTORY = (%ASP_MD_SERVER_BASE + 36)
%EQUATE `MD_ASP_MAXDISKTEMPLATECACHEFILES = (%ASP_MD_SERVER_BASE + 40)
%EQUATE `MD_ASP_EXECUTEINMTA = (%ASP_MD_SERVER_BASE + 41)
%EQUATE `MD_ASP_LCID = (%ASP_MD_SERVER_BASE + 42)
%EQUATE `MD_ASP_KEEPSESSIONIDSECURE = (%ASP_MD_SERVER_BASE + 43)
'// added IIS6.0
'// Services without components integration
%EQUATE `MD_ASP_SERVICE_FLAGS = (%ASP_MD_SERVER_BASE + 44)
%EQUATE `MD_ASP_SERVICE_FLAG_TRACKER = (%ASP_MD_SERVER_BASE + 45)
%EQUATE `MD_ASP_SERVICE_FLAG_FUSION = (%ASP_MD_SERVER_BASE + 46)
%EQUATE `MD_ASP_SERVICE_FLAG_PARTITIONS = (%ASP_MD_SERVER_BASE + 47)
%EQUATE `MD_ASP_SERVICE_PARTITION_ID = (%ASP_MD_SERVER_BASE + 48)
%EQUATE `MD_ASP_SERVICE_SXS_NAME = (%ASP_MD_SERVER_BASE + 49)
'// Valid flags for MD_ASP_SERVICE_FLAGS property
%EQUATE `MD_ASP_SERVICE_ENABLE_TRACKER = 1
%EQUATE `MD_ASP_SERVICE_ENABLE_SXS = 2
%EQUATE `MD_ASP_SERVICE_USE_PARTITION = 4
'// Line number calculation flag.
%EQUATE `MD_ASP_CALCLINENUMBER = (%ASP_MD_SERVER_BASE + 50)
%EQUATE `MD_ASP_RUN_ONEND_ANON = (%ASP_MD_SERVER_BASE + 51)
%EQUATE `MD_ASP_BUFFER_LIMIT = (%ASP_MD_SERVER_BASE + 52)
%EQUATE `MD_ASP_MAX_REQUEST_ENTITY_ALLOWED = (%ASP_MD_SERVER_BASE + 53)
%EQUATE `MD_ASP_MAXREQUESTENTITY = %MD_ASP_MAX_REQUEST_ENTITY_ALLOWED
%EQUATE `MD_ASP_ID_LAST = (%ASP_MD_SERVER_BASE + 53)
'//
'// Valid values for WAM
'//
%EQUATE `WAM_MD_SERVER_BASE = 7500
%EQUATE `MD_WAM_USER_NAME = (%WAM_MD_SERVER_BASE+1)
%EQUATE `MD_WAM_PWD = (%WAM_MD_SERVER_BASE+2)
'//
'// Valid values for WEBDAV
'//
%EQUATE `WEBDAV_MD_SERVER_BASE = 8500
%EQUATE `MD_WEBDAV_MAX_ATTRIBUTES_PER_ELEMENT = (%WEBDAV_MD_SERVER_BASE+1)
'// added IIS6
'//
'// Valid values for APP POOL
'//
%EQUATE `IIS_MD_APPPOOL_BASE = 9000
%EQUATE `MD_APPPOOL_PERIODIC_RESTART_TIME = (%IIS_MD_APPPOOL_BASE + 1)
%EQUATE `MD_APPPOOL_PERIODIC_RESTART_REQUEST_COUNT = (%IIS_MD_APPPOOL_BASE + 2)
%EQUATE `MD_APPPOOL_MAX_PROCESS_COUNT = (%IIS_MD_APPPOOL_BASE + 3)
%EQUATE `MD_APPPOOL_PINGING_ENABLED = (%IIS_MD_APPPOOL_BASE + 4)
%EQUATE `MD_APPPOOL_IDLE_TIMEOUT = (%IIS_MD_APPPOOL_BASE + 5)
%EQUATE `MD_APPPOOL_RAPID_FAIL_PROTECTION_ENABLED = (%IIS_MD_APPPOOL_BASE + 6)
%EQUATE `MD_APPPOOL_SMP_AFFINITIZED = (%IIS_MD_APPPOOL_BASE + 7)
%EQUATE `MD_APPPOOL_SMP_AFFINITIZED_PROCESSOR_MASK = (%IIS_MD_APPPOOL_BASE + 8)
%EQUATE `MD_APPPOOL_ORPHAN_PROCESSES_FOR_DEBUGGING = (%IIS_MD_APPPOOL_BASE + 9)
%EQUATE `MD_APPPOOL_STARTUP_TIMELIMIT = (%IIS_MD_APPPOOL_BASE + 11)
%EQUATE `MD_APPPOOL_SHUTDOWN_TIMELIMIT = (%IIS_MD_APPPOOL_BASE + 12)
%EQUATE `MD_APPPOOL_PING_INTERVAL = (%IIS_MD_APPPOOL_BASE + 13)
%EQUATE `MD_APPPOOL_PING_RESPONSE_TIMELIMIT = (%IIS_MD_APPPOOL_BASE + 14)
%EQUATE `MD_APPPOOL_DISALLOW_OVERLAPPING_ROTATION = (%IIS_MD_APPPOOL_BASE + 15)
%EQUATE `MD_APPPOOL_UL_APPPOOL_QUEUE_LENGTH = (%IIS_MD_APPPOOL_BASE + 17)
%EQUATE `MD_APPPOOL_DISALLOW_ROTATION_ON_CONFIG_CHANGE = (%IIS_MD_APPPOOL_BASE + 18)
%EQUATE `MD_APPPOOL_PERIODIC_RESTART_SCHEDULE = (%IIS_MD_APPPOOL_BASE + 20)
%EQUATE `MD_APPPOOL_IDENTITY_TYPE = (%IIS_MD_APPPOOL_BASE + 21)
%EQUATE `MD_CPU_ACTION = (%IIS_MD_APPPOOL_BASE + 22)
%EQUATE `MD_CPU_LIMIT = (%IIS_MD_APPPOOL_BASE + 23)
%EQUATE `MD_APPPOOL_PERIODIC_RESTART_MEMORY = (%IIS_MD_APPPOOL_BASE + 24)
%EQUATE `MD_APPPOOL_COMMAND = (%IIS_MD_APPPOOL_BASE + 26)
%EQUATE `MD_APPPOOL_STATE = (%IIS_MD_APPPOOL_BASE + 27)
%EQUATE `MD_APPPOOL_AUTO_START = (%IIS_MD_APPPOOL_BASE + 28)
%EQUATE `MD_RAPID_FAIL_PROTECTION_INTERVAL = (%IIS_MD_APPPOOL_BASE + 29)
%EQUATE `MD_RAPID_FAIL_PROTECTION_MAX_CRASHES = (%IIS_MD_APPPOOL_BASE + 30)
%EQUATE `MD_APPPOOL_ORPHAN_ACTION_EXE = (%IIS_MD_APPPOOL_BASE + 31)
%EQUATE `MD_APPPOOL_ORPHAN_ACTION_PARAMS = (%IIS_MD_APPPOOL_BASE + 32)
%EQUATE `MB_DONT_IMPERSONATE = (%IIS_MD_APPPOOL_BASE + 33)
'//
'// Load balancer properties
'//
%EQUATE `MD_LOAD_BALANCER_CAPABILITIES = (%IIS_MD_APPPOOL_BASE + 34)
'//
'// Valid values for APP POOL
'//
%EQUATE `MD_APPPOOL_AUTO_SHUTDOWN_EXE = (%IIS_MD_APPPOOL_BASE + 35)
%EQUATE `MD_APPPOOL_AUTO_SHUTDOWN_PARAMS = (%IIS_MD_APPPOOL_BASE + 36)
%EQUATE `MD_APP_POOL_LOG_EVENT_ON_RECYCLE = (%IIS_MD_APPPOOL_BASE + 37)
%EQUATE `MD_APPPOOL_PERIODIC_RESTART_PRIVATE_MEMORY = (%IIS_MD_APPPOOL_BASE + 38)
%EQUATE `MD_APPPOOL_32_BIT_APP_ON_WIN64 = (%IIS_MD_APPPOOL_BASE + 40)
%EQUATE `MD_APPPOOL_MANAGED_PIPELINE_MODE = (%IIS_MD_APPPOOL_BASE + 41)
'//
'// Valid values for MD_APP_POOL_LOG_EVENT_ON_RECYCLE
'//
%EQUATE `MD_APP_POOL_RECYCLE_TIME = 1
%EQUATE `MD_APP_POOL_RECYCLE_REQUESTS = 2
%EQUATE `MD_APP_POOL_RECYCLE_SCHEDULE = 4
%EQUATE `MD_APP_POOL_RECYCLE_MEMORY = 8
%EQUATE `MD_APP_POOL_RECYCLE_ISAPI_UNHEALTHY = 16
%EQUATE `MD_APP_POOL_RECYCLE_ON_DEMAND = 32
%EQUATE `MD_APP_POOL_RECYCLE_CONFIG_CHANGE = 64
%EQUATE `MD_APP_POOL_RECYCLE_PRIVATE_MEMORY = 128
'//
'// Valid values for MD_CPU_ACTION
'//
%EQUATE `MD_CPU_NO_ACTION = 0
%EQUATE `MD_CPU_KILL_W3WP = 1
%EQUATE `MD_CPU_TRACE = 2
%EQUATE `MD_CPU_THROTTLE = 3
'//
'// Valid values for MD_APPPOOL_COMMAND
'//
%EQUATE `MD_APPPOOL_COMMAND_START = 1
%EQUATE `MD_APPPOOL_COMMAND_STOP = 2
'//
'// Valid values for MD_APPPOOL_STATE
'//
%EQUATE `MD_APPPOOL_STATE_STARTING = 1
%EQUATE `MD_APPPOOL_STATE_STARTED = 2
%EQUATE `MD_APPPOOL_STATE_STOPPING = 3
%EQUATE `MD_APPPOOL_STATE_STOPPED = 4
'//
'// Valid values for MD_APPPOOL_IDENTITY_TYPE
'//
%EQUATE `MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM = 0
%EQUATE `MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE = 1
%EQUATE `MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE = 2
%EQUATE `MD_APPPOOL_IDENTITY_TYPE_SPECIFICUSER = 3
'//
'// Valid values for MD_LOAD_BALANCER_CAPABILITIES
'//
%EQUATE `MD_LOAD_BALANCER_CAPABILITIES_BASIC = 1
%EQUATE `MD_LOAD_BALANCER_CAPABILITIES_SOPHISTICATED = 2
%EQUATE `IIS_MD_APP_BASE = 9100
%EQUATE `MD_APP_APPPOOL_ID = (%IIS_MD_APP_BASE+1)
%EQUATE `MD_APP_ALLOW_TRANSIENT_REGISTRATION = (%IIS_MD_APP_BASE+2)
%EQUATE `MD_APP_AUTO_START = (%IIS_MD_APP_BASE+3)
%EQUATE `MD_APPPOOL_PERIODIC_RESTART_CONNECTIONS = (%IIS_MD_APP_BASE+4)
'//
'// TODO: These are duplicate definitions. Remove them if no one is using it.
'//
%EQUATE `MD_APPPOOL_APPPOOL_ID = (%IIS_MD_APP_BASE + 101)
%EQUATE `MD_APPPOOL_ALLOW_TRANSIENT_REGISTRATION = (%IIS_MD_APP_BASE + 102)
'// commented out so we can build
'//%MD_APPPOOL_AUTO_START = (%IIS_MD_APP_BASE + 103)
%EQUATE `IIS_MD_GLOBAL_BASE = 9200
%EQUATE `MD_MAX_GLOBAL_BANDWIDTH = (%IIS_MD_GLOBAL_BASE+1)
%EQUATE `MD_MAX_GLOBAL_CONNECTIONS = (%IIS_MD_GLOBAL_BASE+2)
%EQUATE `MD_GLOBAL_STANDARD_APP_MODE_ENABLED = (%IIS_MD_GLOBAL_BASE+3)
%EQUATE `MD_HEADER_WAIT_TIMEOUT = (%IIS_MD_GLOBAL_BASE+4)
%EQUATE `MD_MIN_FILE_BYTES_PER_SEC = (%IIS_MD_GLOBAL_BASE+5)
%EQUATE `MD_GLOBAL_LOG_IN_UTF_8 = (%IIS_MD_GLOBAL_BASE+6)
%EQUATE `MD_DEMAND_START_THRESHOLD = (%IIS_MD_GLOBAL_BASE+7)
%EQUATE `MD_GLOBAL_SESSIONKEY = 9999
%EQUATE `MD_ROOT_ENABLE_EDIT_WHILE_RUNNING = 9998
%EQUATE `MD_GLOBAL_CHANGE_NUMBER = 9997
%EQUATE `MD_ROOT_ENABLE_HISTORY = 9996
%EQUATE `MD_ROOT_MAX_HISTORY_FILES = 9995
%EQUATE `MD_GLOBAL_EDIT_WHILE_RUNNING_MAJOR_VERSION_NUMBER = 9994
%EQUATE `MD_GLOBAL_EDIT_WHILE_RUNNING_MINOR_VERSION_NUMBER = 9993
%EQUATE `MD_GLOBAL_XMLSCHEMATIMESTAMP = 9992
%EQUATE `MD_GLOBAL_BINSCHEMATIMESTAMP = 9991
%EQUATE `MD_COMMENTS = 9990
%EQUATE `MD_LOCATION = 9989
%EQUATE `MD_MAX_ERROR_FILES = 9988
%EQUATE `MD_STOP_LISTENING = 9987
'//
'// Valid values for MD_AUTHORIZATION
'//
%EQUATE `MD_AUTH_ANONYMOUS = &H00000001
%EQUATE `MD_AUTH_BASIC = &H00000002
%EQUATE `MD_AUTH_NT = &H00000004 ' // Use NT auth provider (like NTLM)
%EQUATE `MD_AUTH_PASSPORT = &H00000040
'// MD_ACCESS_MAP_CERT that set on SSL_ACCESS_PERM is true authenticaion method
'// never use = &H80 for other MD_AUTH_* method because worker process
'// takes MD_ACCESS_MAP_CERT value as if it was ID of the authentication method
'//%MD_ACCESS_MAP_CERT = &H00000080 // Map SSL cert to NT account
'//
'// Valid values for MD_AUTHORIZATION_PERSISTENCE
'//
%EQUATE `MD_AUTH_SINGLEREQUEST = &H00000040
%EQUATE `MD_AUTH_SINGLEREQUESTIFPROXY = &H00000080
%EQUATE `MD_AUTH_SINGLEREQUESTALWAYSIFPROXY = &H00000100
'//
'// Valid values for MD_ACCESS_PERM
'//
%EQUATE `MD_ACCESS_READ = &H00000001 ' // Allow for Read
%EQUATE `MD_ACCESS_WRITE = &H00000002 ' // Allow for Write
%EQUATE `MD_ACCESS_EXECUTE = &H00000004 ' // Allow for Execute
%EQUATE `MD_ACCESS_SOURCE = &H00000010 ' // Apply access mask to source
%EQUATE `MD_ACCESS_SCRIPT = &H00000200 ' // Allow for Script execution
%EQUATE `MD_ACCESS_NO_REMOTE_WRITE = &H00000400 ' // Local host access only
%EQUATE `MD_ACCESS_NO_REMOTE_READ = &H00001000 ' // Local host access only
%EQUATE `MD_ACCESS_NO_REMOTE_EXECUTE = &H00002000 ' // Local host access only
%EQUATE `MD_ACCESS_NO_REMOTE_SCRIPT = &H00004000 ' // Local host access only
%EQUATE `MD_ACCESS_NO_PHYSICAL_DIR = &H00008000 ' // VR maps to no physical path
%EQUATE `MD_NONSSL_ACCESS_MASK = %MD_ACCESS_READ OR %MD_ACCESS_WRITE OR %MD_ACCESS_EXECUTE OR %MD_ACCESS_SOURCE OR %MD_ACCESS_SCRIPT OR %MD_ACCESS_NO_REMOTE_READ OR %MD_ACCESS_NO_REMOTE_WRITE OR %MD_ACCESS_NO_REMOTE_EXECUTE OR %MD_ACCESS_NO_REMOTE_SCRIPT OR %MD_ACCESS_NO_PHYSICAL_DIR
'//
'// Valid values for MD_SSL_ACCESS_PERM
'//
%EQUATE `MD_ACCESS_SSL = &H00000008 ' // Require SSL
%EQUATE `MD_ACCESS_NEGO_CERT = &H00000020 ' // Allow client SSL certs
%EQUATE `MD_ACCESS_REQUIRE_CERT = &H00000040 ' // Require client SSL certs
%EQUATE `MD_ACCESS_MAP_CERT = &H00000080 ' // Map SSL cert to NT account
%EQUATE `MD_ACCESS_SSL128 = &H00000100 ' // Require 128 bit SSL
%EQUATE `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
%EQUATE `MD_ACCESS_MASK = &H0000ffff
'//
'// Valid values for MD_DIRECTORY_BROWSING
'//
%EQUATE `MD_DIRBROW_SHOW_DATE = &H00000002
%EQUATE `MD_DIRBROW_SHOW_TIME = &H00000004
%EQUATE `MD_DIRBROW_SHOW_SIZE = &H00000008
%EQUATE `MD_DIRBROW_SHOW_EXTENSION = &H00000010
%EQUATE `MD_DIRBROW_LONG_DATE = &H00000020
%EQUATE `MD_DIRBROW_ENABLED = &H80000000 ' // Allow directory browsing
%EQUATE `MD_DIRBROW_LOADDEFAULT = &H40000000 ' // Load default doc if exists
%EQUATE `MD_DIRBROW_MASK = %MD_DIRBROW_SHOW_DATE OR %MD_DIRBROW_SHOW_TIME OR %MD_DIRBROW_SHOW_SIZE OR %MD_DIRBROW_SHOW_EXTENSION OR %MD_DIRBROW_LONG_DATE OR %MD_DIRBROW_LOADDEFAULT OR %MD_DIRBROW_ENABLED
'//
'// Valid values for MD_LOGON_METHOD
'//
%EQUATE `MD_LOGON_INTERACTIVE = 0
%EQUATE `MD_LOGON_BATCH = 1
%EQUATE `MD_LOGON_NETWORK = 2
%EQUATE `MD_LOGON_NETWORK_CLEARTEXT = 3
'//
'// Valid values for MD_PASSPORT_REQUIRE_AD_MAPPING
'//
%EQUATE `MD_PASSPORT_NO_MAPPING = 0
%EQUATE `MD_PASSPORT_TRY_MAPPING = 1
%EQUATE `MD_PASSPORT_NEED_MAPPING = 2
'//
'// Valid values for MD_NOTIFY_EXAUTH
'//
%EQUATE `MD_NOTIFEXAUTH_NTLMSSL = 1
'//
'// Valid values for MD_FILTER_STATE
'//
%EQUATE `MD_FILTER_STATE_LOADED = 1
%EQUATE `MD_FILTER_STATE_UNLOADED = 4
'//
'// Valid values for MD_SERVER_STATE
'//
%EQUATE `MD_SERVER_STATE_STARTING = 1
%EQUATE `MD_SERVER_STATE_STARTED = 2
%EQUATE `MD_SERVER_STATE_STOPPING = 3
%EQUATE `MD_SERVER_STATE_STOPPED = 4
%EQUATE `MD_SERVER_STATE_PAUSING = 5
%EQUATE `MD_SERVER_STATE_PAUSED = 6
%EQUATE `MD_SERVER_STATE_CONTINUING = 7
'//
'// Valid values for MD_SERVER_COMMAND
'//
%EQUATE `MD_SERVER_COMMAND_START = 1
%EQUATE `MD_SERVER_COMMAND_STOP = 2
%EQUATE `MD_SERVER_COMMAND_PAUSE = 3
%EQUATE `MD_SERVER_COMMAND_CONTINUE = 4
'//
'// Valid values for MD_SERVER_SIZE
'//
%EQUATE `MD_SERVER_SIZE_SMALL = 0
%EQUATE `MD_SERVER_SIZE_MEDIUM = 1
%EQUATE `MD_SERVER_SIZE_LARGE = 2
'//
'// Valid values for MD_SERVER_CONFIG_INFO
'//
%EQUATE `MD_SERVER_CONFIG_SSL_40 = &H00000001
%EQUATE `MD_SERVER_CONFIG_SSL_128 = &H00000002
%EQUATE `MD_SERVER_CONFIG_ALLOW_ENCRYPT = &H00000004
%EQUATE `MD_SERVER_CONFIG_AUTO_PW_SYNC = &H00000008
%EQUATE `MD_SERVER_CONFIGURATION_MASK = %MD_SERVER_CONFIG_SSL_40 OR %MD_SERVER_CONFIG_SSL_128 OR %MD_SERVER_CONFIG_ALLOW_ENCRYPT OR %MD_SERVER_CONFIG_AUTO_PW_SYNC
'//
'// Valid values for MD_SCRIPT_MAPS flag field
'//
%EQUATE `MD_SCRIPTMAPFLAG_SCRIPT = &H00000001
%EQUATE `MD_SCRIPTMAPFLAG_CHECK_PATH_INFO = &H00000004
'#ifdef REMOVE // SteveBr
'//
'// Bogus value - do not use
'//
'%MD_SCRIPTMAPFLAG_ALLOWED_ON_READ_DIR = &H00000001
'#endif // REMOVE
'//
'// Valid values for MD_AUTH_CHANGE_ENABLE
'//
%EQUATE `MD_AUTH_CHANGE_UNSECURE = &H00000001
%EQUATE `MD_AUTH_CHANGE_DISABLE = &H00000002
%EQUATE `MD_AUTH_ADVNOTIFY_DISABLE = &H00000004
'//
'// Valid values for MD_NET_LOGON_WKS
'//
%EQUATE `MD_NETLOGON_WKS_NONE = 0
%EQUATE `MD_NETLOGON_WKS_IP = 1
%EQUATE `MD_NETLOGON_WKS_DNS = 2
'//
'// Valide substatus errors for MD_CUSTOM_ERROR
'//
%EQUATE `MD_ERROR_SUB400_INVALID_DESTINATION = 1
%EQUATE `MD_ERROR_SUB400_INVALID_DEPTH = 2
%EQUATE `MD_ERROR_SUB400_INVALID_IF = 3
%EQUATE `MD_ERROR_SUB400_INVALID_OVERWRITE = 4
%EQUATE `MD_ERROR_SUB400_INVALID_TRANSLATE = 5
%EQUATE `MD_ERROR_SUB400_INVALID_REQUEST_BODY = 6
%EQUATE `MD_ERROR_SUB400_INVALID_CONTENT_LENGTH = 7
%EQUATE `MD_ERROR_SUB400_INVALID_TIMEOUT = 8
%EQUATE `MD_ERROR_SUB400_INVALID_LOCK_TOKEN = 9
%EQUATE `MD_ERROR_SUB401_LOGON = 1
%EQUATE `MD_ERROR_SUB401_LOGON_CONFIG = 2
%EQUATE `MD_ERROR_SUB401_LOGON_ACL = 3
%EQUATE `MD_ERROR_SUB401_FILTER = 4
%EQUATE `MD_ERROR_SUB401_APPLICATION = 5
%EQUATE `MD_ERROR_SUB401_URLAUTH_POLICY = 7
%EQUATE `MD_ERROR_SUB403_EXECUTE_ACCESS_DENIED = 1
%EQUATE `MD_ERROR_SUB403_READ_ACCESS_DENIED = 2
%EQUATE `MD_ERROR_SUB403_WRITE_ACCESS_DENIED = 3
%EQUATE `MD_ERROR_SUB403_SSL_REQUIRED = 4
%EQUATE `MD_ERROR_SUB403_SSL128_REQUIRED = 5
%EQUATE `MD_ERROR_SUB403_ADDR_REJECT = 6
%EQUATE `MD_ERROR_SUB403_CERT_REQUIRED = 7
%EQUATE `MD_ERROR_SUB403_SITE_ACCESS_DENIED = 8
%EQUATE `MD_ERROR_SUB403_TOO_MANY_USERS = 9
%EQUATE `MD_ERROR_SUB403_INVALID_CNFG = 10
%EQUATE `MD_ERROR_SUB403_PWD_CHANGE = 11
%EQUATE `MD_ERROR_SUB403_MAPPER_DENY_ACCESS = 12
%EQUATE `MD_ERROR_SUB403_CERT_REVOKED = 13
%EQUATE `MD_ERROR_SUB403_DIR_LIST_DENIED = 14
%EQUATE `MD_ERROR_SUB403_CAL_EXCEEDED = 15
%EQUATE `MD_ERROR_SUB403_CERT_BAD = 16
%EQUATE `MD_ERROR_SUB403_CERT_TIME_INVALID = 17
%EQUATE `MD_ERROR_SUB403_APPPOOL_DENIED = 18
%EQUATE `MD_ERROR_SUB403_INSUFFICIENT_PRIVILEGE_FOR_CGI = 19
%EQUATE `MD_ERROR_SUB403_PASSPORT_LOGIN_FAILURE = 20
%EQUATE `MD_ERROR_SUB403_SOURCE_ACCESS_DENIED = 21
%EQUATE `MD_ERROR_SUB403_INFINITE_DEPTH_DENIED = 22
%EQUATE `MD_ERROR_SUB403_LOCK_TOKEN_REQUIRED = 23
%EQUATE `MD_ERROR_SUB403_VALIDATION_FAILURE = 24
%EQUATE `MD_ERROR_SUB404_SITE_NOT_FOUND = 1
%EQUATE `MD_ERROR_SUB404_DENIED_BY_POLICY = 2
%EQUATE `MD_ERROR_SUB404_DENIED_BY_MIMEMAP = 3
%EQUATE `MD_ERROR_SUB404_NO_HANDLER = 4
%EQUATE `MD_ERROR_SUB404_URL_SEQUENCE_DENIED = 5
%EQUATE `MD_ERROR_SUB404_VERB_DENIED = 6
%EQUATE `MD_ERROR_SUB404_FILE_EXTENSION_DENIED = 7
%EQUATE `MD_ERROR_SUB404_HIDDEN_SEGMENT = 8
%EQUATE `MD_ERROR_SUB404_FILE_ATTRIBUTE_HIDDEN = 9
%EQUATE `MD_ERROR_SUB404_REQUEST_HEADER_TOO_LONG = 10
%EQUATE `MD_ERROR_SUB404_URL_DOUBLE_ESCAPED = 11
%EQUATE `MD_ERROR_SUB404_URL_HAS_HIGH_BIT_CHARS = 12
%EQUATE `MD_ERROR_SUB404_CONTENT_LENGTH_TOO_LARGE = 13
%EQUATE `MD_ERROR_SUB404_URL_TOO_LONG = 14
%EQUATE `MD_ERROR_SUB404_QUERY_STRING_TOO_LONG = 15
%EQUATE `MD_ERROR_SUB404_STATICFILE_DAV = 16
%EQUATE `MD_ERROR_SUB404_PRECONDITIONED_HANDLER = 17
%EQUATE `MD_ERROR_SUB404_QUERY_STRING_SEQUENCE_DENIED = 18
%EQUATE `MD_ERROR_SUB404_DENIED_BY_FILTERING_RULE = 19
%EQUATE `MD_ERROR_SUB423_LOCK_TOKEN_SUBMITTED = 1
%EQUATE `MD_ERROR_SUB423_NO_CONFLICTING_LOCK = 2
%EQUATE `MD_ERROR_SUB500_UNC_ACCESS = 16
%EQUATE `MD_ERROR_SUB500_URLAUTH_NO_STORE = 17
%EQUATE `MD_ERROR_SUB500_URLAUTH_STORE_ERROR = 18
%EQUATE `MD_ERROR_SUB500_BAD_METADATA = 19
%EQUATE `MD_ERROR_SUB500_URLAUTH_NO_SCOPE = 20
%EQUATE `MD_ERROR_SUB500_HANDLERS_MODULE = 21
%EQUATE `MD_ERROR_SUB500_ASPNET_MODULES = 22
%EQUATE `MD_ERROR_SUB500_ASPNET_HANDLERS = 23
%EQUATE `MD_ERROR_SUB500_ASPNET_IMPERSONATION = 24
%EQUATE `MD_ERROR_SUB502_TIMEOUT = 1
%EQUATE `MD_ERROR_SUB502_PREMATURE_EXIT = 2
%EQUATE `MD_ERROR_SUB502_ARR_CONNECTION_ERROR = 3
%EQUATE `MD_ERROR_SUB502_ARR_NO_SERVER = 4
%EQUATE `MD_ERROR_SUB503_CPU_LIMIT = 1
%EQUATE `MD_ERROR_SUB503_APP_CONCURRENT = 2
%EQUATE `MD_ERROR_SUB503_ASPNET_QUEUE_FULL = 3
%EQUATE `MD_ERROR_SUB503_FASTCGI_QUEUE_FULL = 4
%EQUATE `MD_ERROR_SUB503_CONNECTION_LIMIT = 5
'//
'// Valid access rights for ACE entries in MD_ADMIN_ACL
'//
%EQUATE `MD_ACR_READ = &H00000001
%EQUATE `MD_ACR_WRITE = &H00000002
%EQUATE `MD_ACR_RESTRICTED_WRITE = &H00000020
%EQUATE `MD_ACR_UNSECURE_PROPS_READ = &H00000080
%EQUATE `MD_ACR_ENUM_KEYS = &H00000008
%EQUATE `MD_ACR_WRITE_DAC = &H00040000
'//
'// Valid modes for MD_USER_ISOLATION
'//
%EQUATE `MD_USER_ISOLATION_NONE = 0
%EQUATE `MD_USER_ISOLATION_BASIC = 1
%EQUATE `MD_USER_ISOLATION_AD = 2
%EQUATE `MD_USER_ISOLATION_LAST = 2
'//
'// MD_IP_SEC binary format description
'//
'/*
' This object is composed of 4 lists : 2 lists ( deny & grant ) of network addresses,
' the only allowed family is AF_INET.
' Each of this list is composed of sublists, one for each ( network address family,
' significant subnet mask ) combination. The significant subnet mask is stored as
' ( number of bytes all 1 ( 0xff ), bitmask in last byte ).
' This is followed by 2 lists ( deny & grant ) of DNS names. Each of these lists is
' composed of sublists, based on then number of components in the DNS name
' e.g. "microsoft.com" has 2 components, "www.msft.com" has 3.
'Header:
' SELFREFINDEX iDenyAddr; // address deny list
' // points to ADDRESS_HEADER
' SELFREFINDEX iGrantAddr; // address grant list
' // points to ADDRESS_HEADER
' SELFREFINDEX iDenyName; // DNS name deny list
' // points to NAME_HEADER
' SELFREFINDEX iGrantName; // DNS name grant list
' // points to NAME_HEADER
' DWORD dwFlags;
' DWORD cRefSize; // size of reference area ( in bytes )
'ADDRESS_HEADER :
' DWORD cEntries; // # of Entries[]
' DWORD cAddresses; // total # of addresses in all
' // ADDRESS_LIST_ENTRY
' ADDRESS_LIST_ENTRY Entries[];
'ADDRESS_LIST_ENTRY :
' DWORD iFamily;
' DWORD cAddresses;
' DWORD cFullBytes;
' DWORD LastByte;
' SELFREFINDEX iFirstAddress; // points to array of addresses
'NAME_HEADER :
' DWORD cEntries;
' DWORD cNames; // total # of names for all Entries[]
' NAME_LIST_ENTRY Entries[];
'Name list entry :
' DWORD cComponents; // # of DNS components
' DWORD cNames;
' SELFREFINDEX iName[]; // array of references to DNS names
'This is followed by address arrays & names pointed to by iFirstAddress & iName
'Names are '\0' delimited
'SELFREFINDEX is a DWORD offset from start of structure with high bit set to 1
'*/
'//
'// Macros
'//
'#define MD_SET_DATA_RECORD(_pMDR, _id, _attr, _utype, _dtype, _dlen, _pData) \
' { \
' (_pMDR)->dwMDIdentifier=(_id); \
' (_pMDR)->dwMDAttributes=(_attr); \
' (_pMDR)->dwMDUserType=(_utype); \
' (_pMDR)->dwMDDataType=(_dtype); \
' (_pMDR)->dwMDDataLen=(_dlen); \
' (_pMDR)->pbMDData=(LPBYTE)(_pData); \
' }
'//
'// IIS ADSI Admin Object class names
'//
$IIS_CLASS_COMPUTER = "IIsComputer"
$IIS_CLASS_WEB_SERVICE = "IIsWebService"
$IIS_CLASS_WEB_SERVER = "IIsWebServer"
$IIS_CLASS_WEB_INFO = "IIsWebInfo"
$IIS_CLASS_WEB_DIR = "IIsWebDirectory"
$IIS_CLASS_WEB_VDIR = "IIsWebVirtualDir"
$IIS_CLASS_WEB_FILE = "IIsWebFile"
$IIS_CLASS_FTP_SERVICE = "IIsFtpService"
$IIS_CLASS_FTP_SERVER = "IIsFtpServer"
$IIS_CLASS_FTP_INFO = "IIsFtpInfo"
$IIS_CLASS_FTP_VDIR = "IIsFtpVirtualDir"
$IIS_CLASS_FILTERS = "IIsFilters"
$IIS_CLASS_FILTER = "IIsFilter"
$IIS_CLASS_LOG_MODULES = "IIsLogModules"
$IIS_CLASS_LOG_MODULE = "IIsLogModule"
$IIS_CLASS_MIMEMAP = "IIsMimeMap"
$IIS_CLASS_CERTMAPPER = "IIsCertMapper"
$IIS_CLASS_COMPRESS_SCHEMES = "IIsCompressionSchemes"
$IIS_CLASS_COMPRESS_SCHEME = "IIsCompressionScheme"
$$IIS_CLASS_COMPUTER_W = "IIsComputer"$$
$$IIS_CLASS_WEB_SERVICE_W = "IIsWebService"$$
$$IIS_CLASS_WEB_SERVER_W = "IIsWebServer"$$
$$IIS_CLASS_WEB_INFO_W = "IIsWebInfo"$$
$$IIS_CLASS_WEB_DIR_W = "IIsWebDirectory"$$
$$IIS_CLASS_WEB_VDIR_W = "IIsWebVirtualDir"$$
$$IIS_CLASS_WEB_FILE_W = "IIsWebFile"$$
$$IIS_CLASS_FTP_SERVICE_W = "IIsFtpService"$$
$$IIS_CLASS_FTP_SERVER_W = "IIsFtpServer"$$
$$IIS_CLASS_FTP_INFO_W = "IIsFtpInfo"$$
$$IIS_CLASS_FTP_VDIR_W = "IIsFtpVirtualDir"$$
$$IIS_CLASS_FILTERS_W = "IIsFilters"$$
$$IIS_CLASS_FILTER_W = "IIsFilter"$$
$$IIS_CLASS_LOG_MODULES_W = "IIsLogModules"$$
$$IIS_CLASS_LOG_MODULE_W = "IIsLogModule"$$
$$IIS_CLASS_MIMEMAP_W = "IIsMimeMap"$$
$$IIS_CLASS_CERTMAPPER_W = "IIsCertMapper"$$
$$IIS_CLASS_COMPRESS_SCHEMES_W = "IIsCompressionSchemes"$$
$$IIS_CLASS_COMPRESS_SCHEME_W = "IIsCompressionScheme"$$
#IF %DEF(%UNICODE)
MACRO IIS_CLASS_COMPUTER = $$IIS_CLASS_COMPUTER_W
MACRO IIS_CLASS_WEB_SERVICE = $$IIS_CLASS_WEB_SERVICE_W
MACRO IIS_CLASS_WEB_SERVER = $$IIS_CLASS_WEB_SERVER_W
MACRO IIS_CLASS_WEB_INFO = $$IIS_CLASS_WEB_INFO_W
MACRO IIS_CLASS_WEB_DIR = $$IIS_CLASS_WEB_DIR_W
MACRO IIS_CLASS_WEB_VDIR = $$IIS_CLASS_WEB_VDIR_W
MACRO IIS_CLASS_WEB_FILE = $$IIS_CLASS_WEB_FILE_W
MACRO IIS_CLASS_FTP_SERVICE = $$IIS_CLASS_FTP_SERVICE_W
MACRO IIS_CLASS_FTP_SERVER = $$IIS_CLASS_FTP_SERVER_W
MACRO IIS_CLASS_FTP_INFO = $$IIS_CLASS_FTP_INFO_W
MACRO IIS_CLASS_FTP_VDIR = $$IIS_CLASS_FTP_VDIR_W
MACRO IIS_CLASS_FILTERS = $$IIS_CLASS_FILTERS_W
MACRO IIS_CLASS_FILTER = $$IIS_CLASS_FILTER_W
MACRO IIS_CLASS_LOG_MODULES = $$IIS_CLASS_LOG_MODULES_W
MACRO IIS_CLASS_LOG_MODULE = $$IIS_CLASS_LOG_MODULE_W
MACRO IIS_CLASS_MIMEMAP = $$IIS_CLASS_MIMEMAP_W
MACRO IIS_CLASS_CERTMAPPER = $$IIS_CLASS_CERTMAPPER_W
MACRO IIS_CLASS_COMPRESS_SCHEMES = $$IIS_CLASS_COMPRESS_SCHEMES_W
MACRO IIS_CLASS_COMPRESS_SCHEME = $$IIS_CLASS_COMPRESS_SCHEME_W
#ELSE
MACRO IIS_CLASS_COMPUTER = $IIS_CLASS_COMPUTER
MACRO IIS_CLASS_WEB_SERVICE = $IIS_CLASS_WEB_SERVICE
MACRO IIS_CLASS_WEB_SERVER = $IIS_CLASS_WEB_SERVER
MACRO IIS_CLASS_WEB_INFO = $IIS_CLASS_WEB_INFO
MACRO IIS_CLASS_WEB_DIR = $IIS_CLASS_WEB_DIR
MACRO IIS_CLASS_WEB_VDIR = $IIS_CLASS_WEB_VDIR
MACRO IIS_CLASS_WEB_FILE = $IIS_CLASS_WEB_FILE
MACRO IIS_CLASS_FTP_SERVICE = $IIS_CLASS_FTP_SERVICE
MACRO IIS_CLASS_FTP_SERVER = $IIS_CLASS_FTP_SERVER
MACRO IIS_CLASS_FTP_INFO = $IIS_CLASS_FTP_INFO
MACRO IIS_CLASS_FTP_VDIR = $IIS_CLASS_FTP_VDIR
MACRO IIS_CLASS_FILTERS = $IIS_CLASS_FILTERS
MACRO IIS_CLASS_FILTER = $IIS_CLASS_FILTER
MACRO IIS_CLASS_LOG_MODULES = $IIS_CLASS_LOG_MODULES
MACRO IIS_CLASS_LOG_MODULE = $IIS_CLASS_LOG_MODULE
MACRO IIS_CLASS_MIMEMAP = $IIS_CLASS_MIMEMAP
MACRO IIS_CLASS_CERTMAPPER = $IIS_CLASS_CERTMAPPER
MACRO IIS_CLASS_COMPRESS_SCHEMES = $IIS_CLASS_COMPRESS_SCHEMES
MACRO IIS_CLASS_COMPRESS_SCHEME = $IIS_CLASS_COMPRESS_SCHEME
#ENDIF
#ENDIF
