ASP - GetDataPaths
GetDataPaths
Метод ADSI GetDataPaths служит для поиска путей к разделам метабазы, где расположено указанное свойство любого объекта IIS Admin. Этот метод можно использовать для поиска копий свойства, чтобы предотвратить наследование значений разделами. Поиск пути будет начат с раздела, связанного с объектом, указанном в GetDataPaths, и вернет начальный путь, если указанное свойство находится в этом разделе. Например, если использовать метод GetDataPaths для объекта IIsWebServer на третьем веб-сервере, поиск начнется с каталога IIS://LocalHost/W3SVC/3 и вернет пути IIS://LocalHost/W3SVC/3, IIS://LocalHost/W3SVC/3/ROOT/VDir1 и IIS://LocalHost/W3SVC/3/ROOT/VDir1/Dir1/File1, если в соответствующих разделах будет найдено указанное свойство.
Параметр данного метода позволяет указать область поиска: только пути свойства с возможностью наследования либо все пути свойства. Используя метод GetDataPaths, можно определять как возможность наследования данного свойства, так и расположение всех его копий.
Синтаксис
список_путей = объект.GetDataPaths(свойство, флаг_атрибута)
Обозначения
- список_путей
- Переменная, которой присваивается список путей к копиям указанного свойства.
- объект
- Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
- свойство
- Свойство, пути к копиям которого требуется найти.
- флаг_атрибута
- Один из следующих флагов:
IIS_ANY_PROPERTY Поиск путей независимо от возможности наследования свойства. IIS_INHERITABLE_ONLY Поиск путей, только если свойство обладает возможностью наследования. В противном случае возвращается значение MD_ERROR_DATA_NOT_FOUND.
Замечания
Для извлечения из списка_путей отдельных путей служит инструкция For each Path in PathList...Next.
Пример программы
<%
Const IIS_ANY_PROPERTY = 0
Const IIS_INHERITABLE_ONLY = 1
Const MD_ERROR_DATA_NOT_FOUND = &H800CC801
Dim WebSvrObj, PathList, vProperty
On Error Resume Next
'Получение объекта для первого веб-сервера.
Set WebSvrObj = GetObject("IIS://LocalHost/W3SVC/1")
'Получение путей, по которым расположено свойство.
vProperty = "AccessFlags"
PathList = WebSvrObj.GetDataPaths(vProperty, IIS_INHERITABLE_ONLY)
If Err.Number = 0 Then
Response.Write "Пути свойства " & vProperty & "<BR>"
For each Path in PathList
Response.Write Path & "<BR>"
Next
ElseIf Err.Number = MD_ERROR_DATA_NOT_FOUND Then
Response.Write "Свойство не обладает возможностью наследования.<BR>"
ElseIf Err.Number = &H80005006 Then
Response.Write "Свойство не существует.<BR>"
Else
Response.Write "Ошибка " & Err.Number & " " & Err.Description
End If
%>