Dlls are not platform independant, they are like any other app, just a collection of functions, they will execute the same type of code they were compiled off of, unlike ActiveX dlls you have to define their functions of useage, in VB there is usally Integer, Long, String, Byte that can take the place of some of the parameter type, then there are some strange ones, that you can sometimes find in the API text Viewer that comes with VB6, that is, if they are one of those System Wide API types, or constants, I would also assume that the documentation least tells you some of the contents, and what any of their custom structure types look like.