Hi Marlon, I found this function. http://www.php.net/phpinfo/. Jim James D Homme, Usability Engineering, Highmark Inc., james.homme@xxxxxxxxxxxx, 412-544-1810 "The difference between those who get what they wish for and those who don't is action. Therefore, every action you take is a complete success,regardless of the results." -- Jerrold Mundis Highmark internal only: For usability and accessibility: http://highwire.highmark.com/sites/iwov/hwt093/ "Marlon Brandão de Sousa" <splyt.lists@gmai To l.com> programmingblind@xxxxxxxxxxxxx Sent by: cc programmingblind- bounce@freelists. Subject org Re: Dll's Basic Question 08/28/2008 02:42 PM Please respond to programmingblind@ freelists.org Hello Jim, I have no idea if this is plain text, if it isn't please tell me and I'll write again trying to set this thing up and running. Well, you asked oranges and apples, as ken likes to say. Let's go with things by parts: 1- A dll is a linked library. it's binary code that runs with your software, but that is not included right on it. Being a binary file containing executable stuff, your software can load it when needed and using several ways. Generally, a dll file should export some functions that windows uses to let the programmer define what should happen when a dll is loaded, when it is unloaded and such. Other than this, functions that a DLL will export must have a special signature (usually provided by a macro when the dll is programmed), which will allow the dinamic linker to find them inside the dll file and link your software to the wanted function. Every dll should include a .lib file together with it. This lib file isn't a normal .lib file (which is a block of binary code that links right in your executable file). It is, instead, a guide to instruct your binary to ask the dinamic linker to load a given function of the dll dinamically when your code needs it. Microsoft have created a standard called COM, which latter on became the com+. A com+ is a standard dll, but it must export some functions that the transaction server uses to load these objects in a way that allows for a distributed execution environment. In a standard dll (not com+), you have no way of knowing what functions are exported, unless you either have the .h and .lib files that all dll should export or you like and know how to open binaries in a hexadecimal editor and try to discover what's going on. Another option is to ask visual c++ to generate a .def file from the dll, and try to understand what functions and parameters and return codes the dll exports. If the dll is a com+, you can use several utilities included in visual studio to track what objects are exported. You can aquire pretty much information about methods, parameters, return types and properties of the objects. In the php case, these dlls (the extensions) are standard dlls (not com). They're coded following the PHP extensions API (in C) and are compiled as dlls. The interpreter takes care of loading them and linking your script to the wanted extension, so that php can use the functions or classes inside it. A good way of knowing what extensions are loaded in php is to execut php -m and see the output. But, the point here is: if you figure out a way of seeing what functions the dll exports, you will see the binary functions used by the interpreter to make the php functions available, bnot the php functions. Perhaps the php itself has a function to list functions in an extension. I don't remember now, but I can research if you need. Thanks, Marlon 2008/8/27, james.homme@xxxxxxxxxxxx <james.homme@xxxxxxxxxxxx>: > > Hi, > If you see a dll on your system, how do you discover what it is capable of > doing? Here's a related question. If you are using VisualBasic or some > environment and you tell the environment to include a library, are you > connecting your project to a dll? Related to that, if you are using PHP, > and you uncomment one of the extension lines in php.ini, assuming that > doing that makes it connect to a dll, what actually is happening behind the > scenes? If you answer, can you please phrase the answer in plain language? > > Thanks. > > Jim > > James D Homme, Usability Engineering, Highmark Inc., > james.homme@xxxxxxxxxxxx, 412-544-1810 > > "The difference between those who get what they wish for and those who > don't is action. Therefore, every action you take is a complete > success,regardless of the results." -- Jerrold Mundis > Highmark internal only: For usability and accessibility: > http://highwire.highmark.com/sites/iwov/hwt093/ > > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > > -- When you say "I wrote a program that crashed Windows," people just stare at you blankly and say "Hey, I got those with the system, for free." Linus Torvalds __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind