Hallo,
schau dir die Objekte Archive und Archives in der Hilfe an.
Hier ein Beispiel (allerdings in VB aber sollte man ja in C# übersetzen können):
Dim oApp As DvApi32.DavidAPI
Dim oAcc As DvApi32.Account
Dim oArchive As DvApi32.Archive
Dim oSubArchive As DvApi32.Archive
Dim oNewArchive As DvApi32.Archive
Dim oArchives As DvApi32.Archives
Dim fso, txtfile
Dim i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtfile = fso.CreateTextFile("c:\testfile1.txt", True)
Set oApp = CreateObject("DVOBJAPILib.DvISEApi")
Set oAcc = oApp.Logon
Set oArchive = oAcc.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalOut)
For i = 1 To oArchive.Archives.Count
Set oSubArchive = oArchive.Archives.Item(i - 1)
txtfile.WriteLine ("SubArchive from your personal out archive: " & oSubArchive.DisplayName)
txtfile.WriteLine ("Path of the SubArchive: " & oSubArchive.FullPath)
Next
txtfile.Close
Alles anzeigen
Innerhalb der Schleife muss man dann das SubArchive wieder einem Archive-Objekt zuordnen und kann dann wiederum die Adressen dort auslesen.
PS: Es gäbe noch einen anderen Trick. Man könnte - sofern dies C# unterstützt - auf die lokale SQLite-Datenbank zugreifen, die auf dem PC des Benutzers unter C:\Users\USERNAME\AppData\Roaming\Tobit\David\SERVER-USER-contacts.db liegt. Dort werden alle Adressen gesammelt, auf die ein User Zugriff hat (siehe Einstellungen -> Adressen) und für die Vorschläge gezogen, damit beim Tippen einer E-Mail oder Namen nicht nach jedem Buchstaben alle Adressbücher ausgelesen werden müssen.
Gruß
Baumi