Reputation: 91
Is there any way to get lotus notes UNID using NOTEHANLE
? I am working with Lotus Notes C API (8.5).
Thanks.
Upvotes: 0
Views: 1913
Reputation: 2617
With the C API there are 2 options:
NOTEID NoteID;
NOTEHANDLE hNote;
ORIGINATORID NoteOID;
ORIGINATORID NoteOID2;
DBHANDLE db_handle;
TIMEDATE tdModifiedOrig;
WORD wNoteClass;
... ...
// Open the Note and fetch the OID
if (error = NSFNoteOpen (db_handle,
NoteID,
0, /* open flags */
&hNote)) /* note handle (return) */
{
printf("Error: unable to open note %lx.\n", NoteID);
return (ERR(error));
}
NSFNoteGetInfo(hNote, _NOTE_OID, &NoteOID);
printf("UNID %8X%8X", NoteOID.File.Innards[1], NoteOID.File.Innards[0] );
printf("%8X%8X\n", NoteOID.Note.Innards[1], NoteOID.Note.Innards[0] );
// fetching the OID without opening the note
if (error = NSFDbGetNoteInfo(db_handle,
NoteID,
&NoteOID2,
&tdModifiedOrig,
&wNoteClass))
{
printf("Error: unable to scan note %lx.\n", NoteID);
return (ERR(error));
}
printf("UNID %8X%8X", NoteOID2.File.Innards[1], NoteOID2.File.Innards[0] );
printf("%8X%8X", NoteOID2.Note.Innards[1], NoteOID2.Note.Innards[0] );
Upvotes: 1
Reputation: 8550
The NSFNoteGetInfo method will get you the UNID. Pass in a NOTEHANDLE and the second argument as the flag _NOTE_ID.
Upvotes: 0
Reputation: 7597
I think you need to get the LNNOTE
from the NOTEHANDLE
first, and this has the attribute you require:
LNNote::GetUniversalID
Upvotes: 0