"Jack Unrue" <[EMAIL PROTECTED]> writes: > Hello, CFFI folks. What are the implications of declaring two foreign > functions, > each foreign name being the same but which are implemented in two separate > DLLs? The specific case I have in mind is the Win32 function DllGetVersion, > which can return different meta-data for comctl32.dll vs. shell32.dll.
> (load-foreign-library "comctl32.dll") > > (defcfun > ("DllGetVersion" comctl-dll-get-version) > HRESULT > (info :pointer)) > > (load-foreign-library "shell32.dll") > > (defcfun > ("DllGetVersion" shell-dll-get-version) > HRESULT > (info :pointer)) For SBCL 1.0 at least both will be backed by the same foreign function, namely the first one to be loaded. The Right Thing, I believe, would be something like (load-foreign-library "foo.dll" :name :foo) (defcfun ("FooFun" foo-fun :library :foo) ...) which would not be too hard to support on the SBCL end of things at least. Cheers, -- Nikodemus Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs." _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel