Hello,
I cannot get from the C API the same values I get from the Lotus Notes Client of any of the IDs. (UNID, OID, DBID, etc.) I’m assuming I’m parsing (representing) them in a wrong way.
I’m basing my code in the allflds.c example in samples/basic/allfdls/. This code uses NSFSearch, so, in SearchMatch I supposedly have access to the OID:
printf (“\nNote ID is: %lX.\n”, SearchMatch.ID.NoteID);
printf (“Note is: %lX.\n”, SearchMatch.ID.Note);
printf (“Note File is: %lX.\n”, SearchMatch.ID.File);
printf (“\nOriginator File is: %lX.\n”, SearchMatch.OriginatorID.File);
printf (“\nOriginator Note is: %lX.\n”, SearchMatch.OriginatorID.Note);
printf (“\nOriginator Seq is: %lX.\n”, SearchMatch.OriginatorID.Sequence);
/* After NSFNoteOpen … */
NSFNoteGetInfo(note_handle,_NOTE_OID,&unid);
NSFNoteGetInfo(note_handle,_NOTE_DB,&dbid);
printf (“Got UNIVERSAL File is: %lX.\n”, unid.File);
printf (“Got UNIVERSAL Note is: %lX.\n”, unid.Note);
printf (“Got DB Unique ID is: %lX.\n”, dbid);
But the output doesn’t match the format a UNID (OID, DBID, etc.), is supposed to have, not even when 0-padded.
Note ID is: 2E76.
Note is: 2429C6.
Note File is: 241FD0.
Originator File is: C7844FB.
Originator Note is: 21C544.
Originator Seq is: 1D.
Got UNIVERSAL File is: C7844FB.
Got UNIVERSAL Note is: 21C544.
Got DB Unique ID is: A9.
So, the question is… what’s the proper way to parse these IDs to get the same ID Notes client produces?
The ID is a proper ID, as NSFNoteOpen succeeds with that value. I think %lX is not the proper representation for the value. But, I don’t know what is the proper representation.
Thanks a lot,
V.