summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2009-08-06 00:36:20 +0000
committercliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2009-08-06 00:36:20 +0000
commit44168ea09d7ecd6527d36095fba9e47dd7e7bf71 (patch)
tree7125aa46c060113bc5b4a0c842c4a12a7726100e
parent19aa46b2f88224d6c37bd4830e5f977d940c313c (diff)
downloadpyserial-git-44168ea09d7ecd6527d36095fba9e47dd7e7bf71.tar.gz
special device names require \\.\ prefix
-rw-r--r--pyserial/examples/scanwin32.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/pyserial/examples/scanwin32.py b/pyserial/examples/scanwin32.py
index 13cad47..090d7d6 100644
--- a/pyserial/examples/scanwin32.py
+++ b/pyserial/examples/scanwin32.py
@@ -181,18 +181,20 @@ def comports(available_only=True):
#~ raise ctypes.WinError()
# not getting friendly name for com0com devices, try something else
szFriendlyName = ctypes.create_string_buffer(1024)
- SetupDiGetDeviceRegistryProperty(
+ if SetupDiGetDeviceRegistryProperty(
g_hdi,
ctypes.byref(devinfo),
SPDRP_LOCATION_INFORMATION,
None,
ctypes.byref(szFriendlyName), ctypes.sizeof(szFriendlyName) - 1,
None
- )
- try:
- port_name = re.search(r"\((.*)\)", szFriendlyName.value).group(1)
- except AttributeError, msg:
- port_name = szFriendlyName.value
+ ):
+ port_name = "\\\\.\\" + szFriendlyName.value
+ else:
+ try:
+ port_name = re.search(r"\((.*)\)", szFriendlyName.value).group(1)
+ except AttributeError, msg:
+ port_name = szFriendlyName.value
yield port_name, szFriendlyName.value, szHardwareID.value
SetupDiDestroyDeviceInfoList(g_hdi)