[Openmcl-devel] relaunching CCL IDE on Windows problems

Michael Minerva minerva at agentsheets.com
Fri Nov 18 17:18:35 PST 2011


Ah yes, reading comprehension failure identified GetProcessImageFileNameA seems to work much better, thank you!

--Mike
On Nov 18, 2011, at 5:54 PM, Gary Byers wrote:

> Please read the message I sent the other day.
> When you get to the point that discusses how Windows names functions that
> accept or return different kinds of strings, please read it carefully.
> 
> On Fri, 18 Nov 2011, Michael Minerva wrote:
> 
>> 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>)
>> 
> 




More information about the Openmcl-devel mailing list