📄 iiscnfg.h
字号:
//
// Valid values for MD_ACCESS_PERM
//
#define MD_ACCESS_READ 0x00000001 // Allow for Read
#define MD_ACCESS_WRITE 0x00000002 // Allow for Write
#define MD_ACCESS_EXECUTE 0x00000004 // Allow for Execute
#define MD_ACCESS_SOURCE 0x00000010 // Apply access mask to source
#define MD_ACCESS_SCRIPT 0x00000200 // Allow for Script execution
#define MD_ACCESS_NO_REMOTE_WRITE 0x00000400 // Local host access only
#define MD_ACCESS_NO_REMOTE_READ 0x00001000 // Local host access only
#define MD_ACCESS_NO_REMOTE_EXECUTE 0x00002000 // Local host access only
#define MD_ACCESS_NO_REMOTE_SCRIPT 0x00004000 // Local host access only
#define MD_NONSLL_ACCESS_MASK (MD_ACCESS_READ| \
MD_ACCESS_WRITE| \
MD_ACCESS_EXECUTE| \
MD_ACCESS_SOURCE| \
MD_ACCESS_SCRIPT| \
MD_ACCESS_NO_REMOTE_READ| \
MD_ACCESS_NO_REMOTE_WRITE| \
MD_ACCESS_NO_REMOTE_EXECUTE| \
MD_ACCESS_NO_REMOTE_SCRIPT \
)
//
// Valid values for MD_SSL_ACCESS_PERM
//
#define MD_ACCESS_SSL 0x00000008 // Require SSL
#define MD_ACCESS_NEGO_CERT 0x00000020 // Allow client SSL certs
#define MD_ACCESS_REQUIRE_CERT 0x00000040 // Require client SSL certs
#define MD_ACCESS_MAP_CERT 0x00000080 // Map SSL cert to NT account
#define MD_ACCESS_SSL128 0x00000100 // Require 128 bit SSL
#define MD_SSL_ACCESS_MASK (MD_ACCESS_SSL|\
MD_ACCESS_NEGO_CERT|\
MD_ACCESS_REQUIRE_CERT|\
MD_ACCESS_MAP_CERT|\
MD_ACCESS_SSL128)
#define MD_ACCESS_MASK 0x00007fff
//
// Valid values for MD_DIRECTORY_BROWSING
//
#define MD_DIRBROW_SHOW_DATE 0x00000002
#define MD_DIRBROW_SHOW_TIME 0x00000004
#define MD_DIRBROW_SHOW_SIZE 0x00000008
#define MD_DIRBROW_SHOW_EXTENSION 0x00000010
#define MD_DIRBROW_LONG_DATE 0x00000020
#define MD_DIRBROW_ENABLED 0x80000000 // Allow directory browsing
#define MD_DIRBROW_LOADDEFAULT 0x40000000 // Load default doc if exists
#define MD_DIRBROW_MASK (MD_DIRBROW_SHOW_DATE | \
MD_DIRBROW_SHOW_TIME | \
MD_DIRBROW_SHOW_SIZE | \
MD_DIRBROW_SHOW_EXTENSION | \
MD_DIRBROW_LONG_DATE | \
MD_DIRBROW_LOADDEFAULT | \
MD_DIRBROW_ENABLED)
//
// Valid values for MD_LOGON_METHOD
//
#define MD_LOGON_INTERACTIVE 0
#define MD_LOGON_BATCH 1
#define MD_LOGON_NETWORK 2
#define MD_LOGON_NETWORK_CLEARTEXT 3
//
// Valid values for MD_NOTIFY_EXAUTH
//
#define MD_NOTIFEXAUTH_NTLMSSL 1
//
// Valid values for MD_FILTER_STATE
//
#define MD_FILTER_STATE_LOADED 1
#define MD_FILTER_STATE_UNLOADED 4
//
// Valid values for MD_SERVER_STATE
//
#define MD_SERVER_STATE_STARTING 1
#define MD_SERVER_STATE_STARTED 2
#define MD_SERVER_STATE_STOPPING 3
#define MD_SERVER_STATE_STOPPED 4
#define MD_SERVER_STATE_PAUSING 5
#define MD_SERVER_STATE_PAUSED 6
#define MD_SERVER_STATE_CONTINUING 7
//
// Valid values for MD_SERVER_COMMAND
//
#define MD_SERVER_COMMAND_START 1
#define MD_SERVER_COMMAND_STOP 2
#define MD_SERVER_COMMAND_PAUSE 3
#define MD_SERVER_COMMAND_CONTINUE 4
//
// Valid values for MD_SERVER_SIZE
//
#define MD_SERVER_SIZE_SMALL 0
#define MD_SERVER_SIZE_MEDIUM 1
#define MD_SERVER_SIZE_LARGE 2
//
// Valid values for MD_SERVER_CONFIG_INFO
//
#define MD_SERVER_CONFIG_SSL_40 0x00000001
#define MD_SERVER_CONFIG_SSL_128 0x00000002
#define MD_SERVER_CONFIG_ALLOW_ENCRYPT 0x00000004
#define MD_SERVER_CONFIG_AUTO_PW_SYNC 0x00000008
#define MD_SERVER_CONFIGURATION_MASK (MD_SERVER_CONFIG_SSL_40 | \
MD_SERVER_CONFIG_SSL_128 | \
MD_SERVER_CONFIG_ENCRYPT | \
MD_SERVER_CONFIG_AUTO_PW_SYNC)
//
// Valid values for MD_SCRIPT_MAPS flag field
//
#define MD_SCRIPTMAPFLAG_SCRIPT 0x00000001
#define MD_SCRIPTMAPFLAG_CHECK_PATH_INFO 0x00000004
#ifdef REMOVE // SteveBr
//
// Bogus value - do not use
//
#define MD_SCRIPTMAPFLAG_ALLOWED_ON_READ_DIR 0x00000001
#endif // REMOVE
//
// Valid values for MD_AUTH_CHANGE_ENABLE
//
#define MD_AUTH_CHANGE_UNSECURE 0x00000001
#define MD_AUTH_CHANGE_DISABLE 0x00000002
#define MD_AUTH_ADVNOTIFY_DISABLE 0x00000004
//
// Valid values for MD_NET_LOGON_WKS
//
#define MD_NETLOGON_WKS_NONE 0
#define MD_NETLOGON_WKS_IP 1
#define MD_NETLOGON_WKS_DNS 2
//
// Valide substatus errors for MD_CUSTOM_ERROR
//
#define MD_ERROR_SUB401_LOGON 1
#define MD_ERROR_SUB401_LOGON_CONFIG 2
#define MD_ERROR_SUB401_LOGON_ACL 3
#define MD_ERROR_SUB401_FILTER 4
#define MD_ERROR_SUB401_APPLICATION 5
#define MD_ERROR_SUB403_EXECUTE_ACCESS_DENIED 1
#define MD_ERROR_SUB403_READ_ACCESS_DENIED 2
#define MD_ERROR_SUB403_WRITE_ACCESS_DENIED 3
#define MD_ERROR_SUB403_SSL_REQUIRED 4
#define MD_ERROR_SUB403_SSL128_REQUIRED 5
#define MD_ERROR_SUB403_ADDR_REJECT 6
#define MD_ERROR_SUB403_CERT_REQUIRED 7
#define MD_ERROR_SUB403_SITE_ACCESS_DENIED 8
#define MD_ERROR_SUB403_TOO_MANY_USERS 9
#define MD_ERROR_SUB403_INVALID_CNFG 10
#define MD_ERROR_SUB403_PWD_CHANGE 11
#define MD_ERROR_SUB403_MAPPER_DENY_ACCESS 12
#define MD_ERROR_SUB403_CERT_REVOKED 13
#define MD_ERROR_SUB403_DIR_LIST_DENIED 14
#define MD_ERROR_SUB403_CAL_EXCEEDED 15
#define MD_ERROR_SUB403_CERT_BAD 16
#define MD_ERROR_SUB403_CERT_TIME_INVALID 17
#define MD_ERROR_SUB404_SITE_NOT_FOUND 1
#define MD_ERROR_SUB502_TIMEOUT 1
#define MD_ERROR_SUB502_PREMATURE_EXIT 2
#define MD_ERROR_SUB503_CPU_LIMIT 1
//
// Valid access rights for ACE entries in MD_ADMIN_ACL
//
#define MD_ACR_READ 0x00000001
#define MD_ACR_WRITE 0x00000002
#define MD_ACR_RESTRICTED_WRITE 0x00000020
#define MD_ACR_UNSECURE_PROPS_READ 0x00000080
#define MD_ACR_ENUM_KEYS 0x00000008
#define MD_ACR_WRITE_DAC 0x00040000
//
// 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
//
#define IIS_CLASS_COMPUTER "IIsComputer"
#define IIS_CLASS_WEB_SERVICE "IIsWebService"
#define IIS_CLASS_WEB_SERVER "IIsWebServer"
#define IIS_CLASS_WEB_INFO "IIsWebInfo"
#define IIS_CLASS_WEB_DIR "IIsWebDirectory"
#define IIS_CLASS_WEB_VDIR "IIsWebVirtualDir"
#define IIS_CLASS_WEB_FILE "IIsWebFile"
#define IIS_CLASS_FTP_SERVICE "IIsFtpService"
#define IIS_CLASS_FTP_SERVER "IIsFtpServer"
#define IIS_CLASS_FTP_INFO "IIsFtpInfo"
#define IIS_CLASS_FTP_VDIR "IIsFtpVirtualDir"
#define IIS_CLASS_FILTERS "IIsFilters"
#define IIS_CLASS_FILTER "IIsFilter"
#define IIS_CLASS_LOG_MODULES "IIsLogModules"
#define IIS_CLASS_LOG_MODULE "IIsLogModule"
#define IIS_CLASS_MIMEMAP "IIsMimeMap"
#define IIS_CLASS_CERTMAPPER "IIsCertMapper"
#define IIS_CLASS_COMPRESS_SCHEMES "IIsCompressionSchemes"
#define IIS_CLASS_COMPRESS_SCHEME "IIsCompressionScheme"
#define IIS_CLASS_COMPUTER_W L"IIsComputer"
#define IIS_CLASS_WEB_SERVICE_W L"IIsWebService"
#define IIS_CLASS_WEB_SERVER_W L"IIsWebServer"
#define IIS_CLASS_WEB_INFO_W L"IIsWebInfo"
#define IIS_CLASS_WEB_DIR_W L"IIsWebDirectory"
#define IIS_CLASS_WEB_VDIR_W L"IIsWebVirtualDir"
#define IIS_CLASS_WEB_FILE_W L"IIsWebFile"
#define IIS_CLASS_FTP_SERVICE_W L"IIsFtpService"
#define IIS_CLASS_FTP_SERVER_W L"IIsFtpServer"
#define IIS_CLASS_FTP_INFO_W L"IIsFtpInfo"
#define IIS_CLASS_FTP_VDIR_W L"IIsFtpVirtualDir"
#define IIS_CLASS_FILTERS_W L"IIsFilters"
#define IIS_CLASS_FILTER_W L"IIsFilter"
#define IIS_CLASS_LOG_MODULES_W L"IIsLogModules"
#define IIS_CLASS_LOG_MODULE_W L"IIsLogModule"
#define IIS_CLASS_MIMEMAP_W L"IIsMimeMap"
#define IIS_CLASS_CERTMAPPER_W L"IIsCertMapper"
#define IIS_CLASS_COMPRESS_SCHEMES_W L"IIsCompressionSchemes"
#define IIS_CLASS_COMPRESS_SCHEME_W L"IIsCompressionScheme"
#pragma option pop /*P_O_Pop*/
#endif // _IISCNFG_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -