有没有办法使用NOTEHANLE
获取Lotus注释UNID?我正在使用Lotus Notes C API(8.5)。
感谢。
答案 0 :(得分:1)
使用C API有两个选项:
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] );
答案 1 :(得分:0)
我认为您需要首先从LNNOTE
获取NOTEHANDLE
,这具有您需要的属性:
LNNote::GetUniversalID
答案 2 :(得分:0)
NSFNoteGetInfo方法将为您提供UNID。传入NOTEHANDLE,第二个参数作为标志_NOTE_ID。