Получение лотосного документа UNID - PullRequest
0 голосов
/ 31 мая 2010

Есть ли способ получить лотосные заметки UNID, используя NOTEHANLE? Я работаю с Lotus Notes C API (8.5).
Спасибо.

Ответы [ 3 ]

1 голос
/ 14 июля 2011

С C API есть 2 варианта:

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] );
0 голосов
/ 04 июня 2010

Метод NSFNoteGetInfo получит вам UNID. Передайте NOTEHANDLE и второй аргумент в качестве флага _NOTE_ID.

Смотрите здесь: http://www -12.lotus.com / LDD / DOC / инструменты / с / 6.0.2 / api60ref.nsf / 0 / 00D600DA00A7005185255E2D00792E02? OpenDocument

0 голосов
/ 03 июня 2010

Я думаю, вам нужно сначала получить LNNOTE от NOTEHANDLE, и это имеет требуемый вам атрибут:

LNNote::GetUniversalID
...