64bit - LotusScript call to NSFItemInfoNext on Domino 64 bit server crashes server -
i'm trying make call lotusscript agent 'nsfiteminfonext' on domino 9.0.1 64-bit server. call 'nsfiteminfo' succeeds. code has been tested on 32-bit , works correctly. field rich text field broken several items.
type blockid64 pool long block integer end type declare function w64_nsfiteminfo lib lib_w32 alias "nsfiteminfo" (byval notehandle long, byval itemname string, byval namelength integer, itemblockid blockid64, valuedatatype integer, valueblockid blockid64, valuelength long) integer declare function w64_nsfiteminfonext lib lib_w32 alias "nsfiteminfonext" (byval notehandle long, byval previtemblockidpool long, byval previtemblockidblock integer, byval itemname string, byval namelength integer, itemblockid blockid64, valuedatatype integer, valueblockid blockid64, valuelength long) integer dim dbhandle long dim notehandle long dim rtitemname string dim itemblockid blockid64 dim itemdatatype integer dim valueblockid blockid64 dim valuelength long dim nextitemblockid blockid64 dim nextitemdatatype integer dim nextvalueblockid blockid64 dim nextvaluelength long dim statusresult integer rtitemname = "body" nsfdbopen - dbhandle: 377 nsfnoteopen - notehandle: 43 statusresult = w64_nsfiteminfo(notehandle, rtitemname, len(rtitemname), itemblockid, itemdatatype, valueblockid, valuelength) results of call nsfiteminfo: itemblockid.pool: 43 itemblockid.block: 31312 itemdatatype: 1 valueblockid.pool: 43 valueblockid.block: 1120 valuelength: 30176 statusresult = w64_nsfiteminfonext(notehandle, itemblockid.pool, itemblockid.block, rtitemname, len(rtitemname), nextitemblockid, nextitemdatatype, nextitemvalueblockid, nextitemvaluelength) call nsfiteminfonext fails following crash: ############################################################ ### thread 10/11: [ namgr: 1ca4: 0c60] fatal thread ### fp=0x185ba4c8, pc=0x7723695a, sp=0x185ba4c8 ### stkbase=0x185c0000, total stksize=1048576, used stksize=23352 ### eax=0x0000db76, ebx=0x00000538, ecx=0x185b9518, edx=0xffffffff01e6af0 ### esi=0x00000000, edi=0x00000000, cs=0x00000033, ss=0xfffffff0000002b ### ds=0x00000000, es=0x00000000, fs=0x00000000, gs=0xfffffff00000000 flags=0x00000287 ############################################################ [ 1] 0x7723695a ntdll.zwwaitforsingleobject+10 (0,0,0,0) [ 2] 0x76d6aeb0 kernel32.waitforsingleobjectex+160 (538,185babb0,0,538) @[ 3] 0x7fee2846aa2 nnotes.osrunexternalscript+1666 (1ca4,0,426,5) @[ 4] 0x7fee28472ea nnotes.frterminatewindowsresources+1738 (0,5,1,2b9190) @[ 5] 0x7fee2847a79 nnotes.osfaultcleanupext+1177 (185bbe60,772f9d40,185bf9d0,1) @[ 6] 0x7fee2848077 nnotes.osfaultcleanup+23 (772f9d40,2a2,29,185bb3e0) @[ 7] 0x7fee28aa997 nnotes.osntunhandledexceptionfilter+423 (185bbe60,772f9d40,30,185bbe60) [ 8] 0x76dfcbef kernel32.unhandledexceptionfilter+351 (185bbe60,4a04f3ca,0,1) [ 9] 0x77261348 ntdll.rtlinitializeatompackage+72 (7fee4623cb0,13000000016,200005445,29) [10] 0x77228ec4 ntdll.__c_specific_handler+140 (185bf9d0,185bf9d0,185c0000,77216411) [11] 0x7722546d ntdll.rtlintegertochar+1341 (1,0,185bf9d0,185c0000) [12] 0x77229267 ntdll.__c_specific_handler+1071 (185bca40,2598ca4,0,771f0000) [13] 0x7723687a ntdll.kiuserexceptiondispatcher+46 (2598ca4,2b,185bcb88,188fc110) @[14] 0x7fee350b7c4 nnotes.nsfiteminfonext+100 (185bcd20,2b,188fc7a0,188fc110) @[15] 0x7fee3b29803 nnotes.lssthread::doccallout+6355 (ffff,188fc758,0,2598ca4) @[16] 0x7fee3b2b3ff nnotes.lssthread::cprodcallfunction+431 (2598ca4,185bd7c8,23,ffe8) @[17] 0x7fee3aed292 nnotes.lssthread::nrun+8722 (188fc110,185b08a4,3,2) @[18] 0x7fee3aedad8 nnotes.lssthread::run+296 (188fc110,76b9028,0,2) @[19] 0x7fee3aa7c3a nnotes.lsithread::runinternal+106 (76b9028,76b9028,0,0) @[20] 0x7fee3aa7ef6 nnotes.lsithread::runtocompletion+390 (76a8b28,76a8b28,185bdb30,0) @[21] 0x7fee3aa0caa nnotes.clsidocument::runscript+762 (76aa828,76a8aa8,0,76a8aa8) @[22] 0x7fee2f1b8ec nnotes.crawactionlotusscript::run+668 (20000200,7fe00000026,c2520646e756f46,56d756300000026) @[23] 0x7fee2f16e5f nnotes.crawaction::run+95 (0,76a8a68,76aa828,7fee28f0005) @[24] 0x7fee2f17b44 nnotes.crawaction::execute+260 (ff,0,0,8f9b) @[25] 0x7fee2f1497e nnotes.cassistant::run+4174 (200002bf,185bea40,76a8b28,0) @[26] 0x7fee2f32b9f nnotes.agentrun+1711 (1,0,0,10) @[27] 0x7fef99f8420 namgrdll.execconsoleagent+320 (80,adc92,76aa828,76aa028) @[28] 0x7fee2858b52 nnotes.threadwrapper+258 (0,0,0,0) [29] 0x76d5aefd kernel32.basethreadinitthunk+13 (0,0,0,0) [30] 0x77216411 ntdll.rtluserthreadstart+33 (0,0,0,0)
i've tried changing 'pool' in blockid64 structure double didn't work , caused value returned 'block' 0 (zero).
any thoughts or suggestions? has else had issues 64-bit api calls lotusscript.
i suggest change itemblockid double instead of using structure. not use structure anyway (for else passing in next call).
declare function w64_nsfiteminfo lib lib_w32 alias "nsfiteminfo" (byval notehandle long, byval itemname string, byval namelength integer, itemblockid double, valuedatatype integer, valueblockid blockid64, valuelength long) integer declare function w64_nsfiteminfonext lib lib_w32 alias "nsfiteminfonext" (byval notehandle long, byval previtemblockiddbl double, byval itemname string, byval namelength integer, itemblockid blockid64, valuedatatype integer, valueblockid blockid64, valuelength long) integer
about question if got problems using 64-bit api calls lotusscript - i'd surprised if has managed "go way". example once items, might want read content... i'm still stuck on 1 :-/ thought have figured out... code :-)
Comments
Post a Comment