获取莲花笔记文件UNID

时间:2010-05-31 15:50:03

标签: c lotus-notes

有没有办法使用NOTEHANLE获取Lotus注释UNID?我正在使用Lotus Notes C API(8.5)。
感谢。

3 个答案:

答案 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。

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