[python-win32] Need a value from pywin32

Steven Manross steven at manross.net
Wed Jun 22 11:42:28 EDT 2022


Thanks a lot for the help!!!

This is no longer Excepting...  But the Result is 0 and there doesn't seem to be any data in the Buf structure or indication that there were results in RtnLen...  I get to debug this more..  YAY!!!

Steven
-----Original Message-----
From: python-win32 <python-win32-bounces+steven=manross.net at python.org> On Behalf Of Tim Roberts
Sent: Tuesday, June 21, 2022 10:04 PM
To: python-win32 at python.org
Subject: Re: [python-win32] Need a value from pywin32

On 6/21/22 13:39, Steven Manross wrote:

> I was intrigued by this and I would like to get it to work, but I cannot...  I know I'm doing something wrong, but don't know what.  I will leave this for the archives, and maybe it will help someone else some day.
> ...
> def get_wts_info(session_id):
>      '''
>          Get WTS Info
>      '''
>      # This only tries to work on the local server currently but I get 
> an access violation running the WinStationQueryInformationW line
>
>      Buf = ctypes.POINTER(WinStationInformation)()
>      BufLen = 260
>
>      hWinSta = ctypes.windll.LoadLibrary("WINSTA.DLL")
>      if hWinSta:
>          winsta_handle = hWinSta._handle
>          print(f'winsta_handle = {winsta_handle}')
>          QueryInfoHandle = 
> ctypes.windll.kernel32.GetProcAddress(ctypes.c_ulonglong(winsta_handle
> ), b"WinStationQueryInformationW")
>
>          # This handle is 0...  possibly because of the numeric 
> conversion from the winsta_handle to a ctypes.c_ulonglong  ???  unsure

No, 0 is the error return that means the name was not found.

You shouldn't need to use LoadLibrary and GetProcAddress.  ctypes does that for you automatically.

     winsta = ctypes.WinDLL('winsta.dll')

     winsta.WinStationQueryInformationW( 0, session_id, 8, ctypes.byref(Buf), BufLen, ctypes.byref(RtnLen))

If you have Visual Studio, you can try doing "link /dump /exports \windows\system32\winsta.dll" to make sure it has that entry point.

--
Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.

_______________________________________________
python-win32 mailing list
python-win32 at python.org
https://mail.python.org/mailman/listinfo/python-win32


More information about the python-win32 mailing list