[Openmcl-devel] relaunching CCL IDE on Windows problems

Michael Minerva minerva at agentsheets.com
Fri Nov 18 16:45:22 PST 2011


Your initial advice worked wonderfully and I was able to get a list of currently active process IDS, thanks again!

I now need a function that takes a pid and returns the name of the main executable module of this process.  It seems I need to make a call to GetModuleBaseName or seemingly even better GetProcessImageFileName or QueryFullProcessImageName.  Sadly it seems that even external-call does not find these functions and returns an error like this:

Error: Can't resolve foreign symbol "GetModuleBaseName"

Or if we call #_GetModuleBaseName I get an error like:

Error: Foreign function not found: WIN32::|GetModuleFileNameEx|

If external-call does not find it does this mean: A) the function really does not exist B) I had some kind of problem with the parameters I passed C) Something else?   I tried playing with the parameters for quite some time so I am guessing it is not B.  

Thanks again for all your help!


On Nov 18, 2011, at 2:19 PM, R. Matthew Emerson wrote:

> On Nov 18, 2011, at 2:58 PM, Michael Minerva wrote:
>> I wanted to try out some of the function Gary suggested but it seems the library EnumProcesses is in may not be used by CCL.  When I call #_EnumProcesses I get the following error in CCL:
>> Error: Foreign function not found: WIN32::|EnumProcesses|
>> Does this imply that EnumProcesses is in a library not currently used by CCL?
> That means that EnumProcesses isn't in the interface database.  I see
> from looking at win32-headers/libc/C/populate.sh that we don't process
> psapi.h.
> You can use external-call instead.  Something like (untested)
> (external-call "EnumProcesses" :address pProcessIds :int cb :address pBytesReturned :<BOOL>)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20111118/571fc935/attachment.htm>

More information about the Openmcl-devel mailing list