[Openmcl-devel] relaunching CCL IDE on Windows problems
Michael Minerva
minerva at agentsheets.com
Fri Nov 18 16:45:22 PST 2011
Matthew,
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!
--Mike
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