How do I know a DLL is a COM Server?
I need to know this so that I can safely say at least that the DLL will be callable by PHP.
Printable View
How do I know a DLL is a COM Server?
I need to know this so that I can safely say at least that the DLL will be callable by PHP.
You can check if a DLL is a COM library by looking for its DLLRegisterServer function entry.
Quote:
Originally Posted by penagate
Hi PG, thanks for the prompt reply... but how do I do that, given only the dll file? :(
Oh i tried registering with the regsvr32 application.. but it says DLLRegisterServer entry point not found...
does this mean i cannot use this with PHP? :(
You would need to look at its export table.
What langauge are you doing this from?
And here is a explanation (hopefully)
Edit: did not see your edit.
I don't know, I have been trying to forget about COM as much as I can and wasn't aware you could use it with PHP.Quote:
Originally Posted by oceane
What do you need to do, load a COM object and access it through PHP? Or call a function in a standard (non-COM) DLL?
Quote:
Originally Posted by penagate
well, this is not actually my project, but im trying to help with research. :(
And basically there is this GPS Point Plotter software that the client wants the project developers to use. There is an IDE as well as a DLL, but they must embed this to the PHP project. Boss says, that there is a way to call DLL from PHP. But then according to PHP documentation, only DLLs that are a COM Servers are callable from within PHP.
Okeydoke well you can do it (you can do everything in PHP trust me :))
Have a look here:
PHP: W32api functions
It would appear, after loading the extension (downloading it first, if using PHP >= 5.10) you can use the w32api_register_function to import a function from a DLL. It doesn't have to be the Win API, it can be any standard non-COM dll. Then, you call the function in the normal scope of your script.
does this mean that the server must be a ms technology?
edit: just read in the documentation that this can only work with windows systems... server is linux i believe. :(
I thought DLLs (as such) only existed on Windows?