classification
Title: ctypes.windll.LoadLibrary refuses unicode argument
Type: Stage: resolved
Components: ctypes Versions: Python 2.7
process
Status: closed Resolution: duplicate
Dependencies: Superseder: In 2.7.13, _ctypes.LoadLibrary no longer accepts Unicode objects
View: 29082
Assigned To: Nosy List: theller, xiang.zhang
Priority: normal Keywords:

Created on 2017-01-17 09:12 by theller, last changed 2017-01-17 13:14 by eryksun. This issue is now closed.

Messages (3)
msg285628 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2017-01-17 09:12
ctypes.windll.LoadLibrary refuses unicode argument; this is a regression in Python 2.7.13:

Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes import windll
>>> windll.LoadLibrary(u"kernel32.dll")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\ctypes\__init__.py", line 440, in LoadLibrary
    return self._dlltype(name)
  File "C:\Python27\lib\ctypes\__init__.py", line 362, in __init__
    self._handle = _dlopen(self._name, mode)
TypeError: LoadLibrary() argument 1 must be string, not unicode
>>>

It did work in Python 2.7.12 and before:

Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes import windll
>>> windll.LoadLibrary(u"kernel32")
<WinDLL 'kernel32', handle 77360000 at 3606f10>
>>>
msg285629 - (view) Author: Xiang Zhang (xiang.zhang) * (Python committer) Date: 2017-01-17 09:17
#29082 fixed it?
msg285630 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2017-01-17 09:22
Yes, seems that it is fixed in the repository.  So I have to use 2.7.12
or wait for 2.7.14.  Thanks!
History
Date User Action Args
2017-01-17 13:14:35eryksunsetsuperseder: In 2.7.13, _ctypes.LoadLibrary no longer accepts Unicode objects
resolution: duplicate
stage: resolved
2017-01-17 09:44:31thellersetstatus: open -> closed
2017-01-17 09:22:20thellersetmessages: + msg285630
2017-01-17 09:17:04xiang.zhangsetnosy: + xiang.zhang
messages: + msg285629
2017-01-17 09:12:38thellercreate