c++ - Does a tlb file have an associated architecture? -


i have 32bit dll designed accessed through com model , associated tlb file.

the dll appears x86.

is there way access kind of dll x64 program? tlb files x86/x64 agnostic?

i asking because functions appear work, others crash, , o̶t̶h̶e̶r̶s̶ ̶a̶r̶e̶ ̶m̶i̶s̶s̶i̶n̶g̶ ̶c̶o̶m̶p̶a̶r̶e̶d̶ ̶t̶o̶ ̶t̶h̶e̶ ̶.̶n̶e̶t̶ ̶a̶s̶s̶e̶m̶b̶l̶i̶e̶s̶ .

--edit--

missing assemblies appear due error on part of oem.

type libraries intended platform agnostic in cases. 1 you'd encounter in windows programming shipped microsoft are. visible in .net makes simple write code can run in either 32-bit or 64-bit mode, exposed anycpu platform target. nothing special needed either use interop classes in microsoft.office.interop or write extensions run inside office program, use exact same type libraries.

but doesn't work out when use type library created programmer never considered work on 64-bit code. typical trouble caused method arguments pointers under hood flattened integral type, long being typical choice. these pointer values 64-bit wide in 64-bit mode , misbehave when try stuff them 32-bit integer. handle values example.

by far notorious oops microsoft one. type library ado broken, database provider library that's used talk dbase engines. took breaking change in windows 7 sp1, change cause widespread misery when programmers built programs in operating system , found out no longer worked on older versions of windows. oops went other way, type supposed 32-bit on 64-bit operating systems declared 64-bit on 64-bit os. can see oops when have windows sdk version 8, adoint_backcompat.h header file, ado_longptr type. replaced long in adoint.h.

best work original programmer sorted out. or take advantage of com surrogates, can run 32-bit code out-of-process when called 64-bit process.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -