def accessory_product_types(self):
"""
List[str]: Indicates the model names of accessories connected to
the device. Each list element corresponds to a connector.
For example, index 0 corresponds to connector 0. The list
contains an empty string for each connector with no
accessory connected.
"""
cfunc = lib_importer.windll.DAQmxGetDevAccessoryProductTypes
if cfunc.argtypes is None:
with cfunc.arglock:
if cfunc.argtypes is None:
cfunc.argtypes = [
ctypes_byte_str, ctypes.c_char_p, ctypes.c_uint]
temp_size = 0
while True:
val = ctypes.create_string_buffer(temp_size)
size_or_code = cfunc(
self._name, val, temp_size)
if is_string_buffer_too_small(size_or_code):
# Buffer size must have changed between calls; check again.
temp_size = 0
elif size_or_code > 0 and temp_size == 0:
# Buffer size obtained, use to retrieve data.
temp_size = size_or_code
else:
break
check_for_error(size_or_code)
return unflatten_channel_string(val.value.decode('ascii'))
评论列表
文章目录