Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: inu am 17.01.11 - 10:21:11

Titel: C-API: NSFSearch
Beitrag von: inu am 17.01.11 - 10:21:11
Hallo Leute,

mittels

error = NSFSearch ( dir_handle, NULLHANDLE, NULL, SEARCH_FILETYPE + SEARCH_SUMMARY, FILE_ANYNOTEFILE + FILE_RECURSE + FILE_NOUPDIRS, NULL, file_action, NULL, NULL))

kann ich ALLE Datenbanken durchkämmen und mit in der Funktion <file_action> alle Items (Itembezeichnungund Iteminhalt) auslesen. Standardmäßig erhalte ich diese 29 Stück hier:

$TITLE, $Path, $Type, $NOTEFILE, $Modified, $Length, $Info, $LinkInfo, $DBOPTIONS, $DBVERSIONS, $DBCREATED, $LASTFIXUP, $QUOTALIMIT, $QUOTAWARNING, $MAXDBSIZE, $PHYSICALPATH, $ISLOGGED, $Length2, $DBOPTIONS2, $DBOPTIONS3, $DBOPTIONS4, $DATAMOD, $NONDATAMOD, $CURRENTUSAGE, $STORAGEPATH, $ReplFlags, $DAOSSTATE, $DAOSOBJCOUNT, $DAOSSTOREDBYTES und $DAOSSYNCPOINT

Dazu habe ich zwei Fragen:
1. Wo genau ist die Bedeutung dieser Items erklärt und was können die Inhalte sein (z.B. $Length2, $DATAMOD, $DBOPTIONS2, etc...)

2. Wie kann ich NSFSearch dazu bringen, mir die Iteminformationen (siehe oben) lediglich von einer bestimmten Datenbank / Datei zurück zu liefern?

Viele Grüße
David

Titel: Re: C-API: NSFSearch
Beitrag von: Axel am 17.01.11 - 10:27:30
Guckst du hier: Lotus C API Notes/Domino 8.5 Reference
 (http://publib-b.boulder.ibm.com/lotus/c2735070.nsf)

Axel
Titel: Re: C-API: NSFSearch
Beitrag von: inu am 17.01.11 - 10:41:17
Hallo Axel,

ich habe natürlich schon in die Notes-Hilfe-DB zur C-API geschaut. Da finde ich eben nur ein Beispiel, wie ich alle DBs durchlaufe. Wenn ich aber z.B. nur die names.nsf auslesen will, habe ich scheinbar nicht passendes gefunden.

David
Titel: Re: C-API: NSFSearch
Beitrag von: Axel am 17.01.11 - 11:10:25
Ich habe relativ wenig Erfahrung mit der Programmierung mit der C-API, aber soweit ich die Doku verstehe brauchst du ein Handle auf die entsprechende DB. Das müsstest di mit NSFDbOpen bekommen.

Code
STATUS LNPUBLIC NSFDbOpen(
const char far *PathName,
DBHANDLE far *rethDB);

Beispiel:
Code
/* Open it and begin operations */
if (error_status = NSFDbOpen(dst_name, &db_handle_dst))
 goto Exit;
else
 cleanup_state += CLOSE_DST_DB;

NSFDbOpen - Opens an existing Domino database or database template or a directory (http://publib-b.boulder.ibm.com/lotus/c2735070.nsf/61fd4e9848264ad28525620b006ba8bd/00aa001a00e5007385255e2d0079316d?OpenDocument)

Vielleicht hilft dir das weiter.

Axel
Titel: Re: C-API: NSFSearch
Beitrag von: eknori am 17.01.11 - 19:07:54
Ah, da sind die DAOS informationen einer DB versteckt. Schade nur, dass man wegen des Callbacks im NSFSearch nichts mit LS2CAPI machen kann. Und die samples im CAPI SDK wurden auch scon lange nicht mehr aktualisiert. Die geben die Infos zu DAOS nicht richtig zurueck.