开发者

Getting lotus note document UNID

Is 开发者_StackOverflowthere any way to get lotus notes UNID using NOTEHANLE? I am working with Lotus Notes C API (8.5).

Thanks.


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] );


I think you need to get the LNNOTE from the NOTEHANDLE first, and this has the attribute you require:

LNNote::GetUniversalID


The NSFNoteGetInfo method will get you the UNID. Pass in a NOTEHANDLE and the second argument as the flag _NOTE_ID.

See here: http://www-12.lotus.com/ldd/doc/tools/c/6.0.2/api60ref.nsf/0/00D600DA00A7005185255E2D00792E02?OpenDocument

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜