17. 共有フォルダ取得サンプルコード(VB)
Public Shared Function GetVolumes() As IList(Of Volume)
Dim folders As New List(Of Volume)()
Using root = GetRootEntry()
'ルートのDirectoryEntryを取得
Dim filter = "(objectCategory=Volume)"
Using searcher As New DirectorySearcher(root, filter)
Using results = searcher.FindAll()
For Each res As SearchResult In results
folders.Add(DirectCast(
CreateInstance(res.GetDirectoryEntry()), Volume))
Next
End Using
End Using
End Using
Return folders
End Function
※root は一般的には New DirectoryEntry(LDAPのルートパス) をセット
※CreateInstance メソッドは DirectoryEntry から DirectoryObject を作成
17
18. 共有フォルダ取得サンプルコード(C#)
public static IList<Volume> GetVolumes() {
var folders = new List<Volume>();
using (var root = GetRootEntry()) {
//ルートのDirectoryEntryを取得
var filter = "(objectCategory=Volume)";
using (var searcher = new DirectorySearcher(root, filter)) {
using (var results = searcher.FindAll()) {
foreach (SearchResult res in results) {
folders.Add(
(Volume)CreateInstance(res.GetDirectoryEntry()));
}
}
}
}
return folders;
}
※root は一般的には new DirectoryEntry(LDAPのルートパス) をセット
※CreateInstance メソッドは DirectoryEntry から DirectoryObject を作成
18