WindowsXP / CTypes Module - unable to access function in a dll

Discussion in 'Python' started by dudeja.rajat@gmail.com, Aug 19, 2008.

  1. Guest

    Hi,

    I'm using the CTYPES module of python to load a dll. My dll contains a
    Get_Version function as:
    long __stdcall af1xEvdoRDll_GetVersion(long version[4]);

    This function accepts a long array of 4 elements.

    Following is the python code I've written:

    from ctypes import *
    abc = windll.af1xEvdoRDll
    GetVersion = abc.af1xEvdoRDll_GetVersion
    print GetVersion
    versionArr = c_long * 4 #array of 4 longs
    version = versionArr(0, 0, 0, 0) # initializing all elements to 0
    GetVersion(version) #calling dll function
    print version

    I'm getting the following output:
    <_FuncPtr object at 0x00A1EB70>
    <__main__.c_long_Array_4 object at 0x00A86300>

    But I'm not getting the desired output which I expect as : 2.1.5.0


    Please suggest what am I missig?
     
    , Aug 19, 2008
    #1
    1. Advertising

  2. wrote:

    > Hi,
    >
    > I'm using the CTYPES module of python to load a dll. My dll contains a
    > Get_Version function as:
    > long __stdcall af1xEvdoRDll_GetVersion(long version[4]);
    >
    > This function accepts a long array of 4 elements.
    >
    > Following is the python code I've written:
    >
    > from ctypes import *
    > abc = windll.af1xEvdoRDll
    > GetVersion = abc.af1xEvdoRDll_GetVersion
    > print GetVersion
    > versionArr = c_long * 4 #array of 4 longs
    > version = versionArr(0, 0, 0, 0) # initializing all elements to 0
    > GetVersion(version) #calling dll function
    > print version
    >
    > I'm getting the following output:
    > <_FuncPtr object at 0x00A1EB70>
    > <__main__.c_long_Array_4 object at 0x00A86300>
    >
    > But I'm not getting the desired output which I expect as : 2.1.5.0
    >
    >
    > Please suggest what am I missig?


    Don't print the object, print it's contents:

    for i in xrange(4):
    print version

    Might be that you can iterate over the array directly, not sure right now.

    Diez
     
    Diez B. Roggisch, Aug 19, 2008
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Henk Punt
    Replies:
    0
    Views:
    398
    Henk Punt
    Jul 23, 2004
  2. Replies:
    0
    Views:
    504
  3. ryniek90
    Replies:
    1
    Views:
    589
    Simon Forman
    Aug 21, 2009
  4. Heinrich Piard

    ruby on WindowsXP can't load module wx

    Heinrich Piard, Nov 14, 2008, in forum: Ruby
    Replies:
    2
    Views:
    227
    Alex Fenton
    Nov 14, 2008
  5. Replies:
    10
    Views:
    133
Loading...

Share This Page