def niDigital_GetAttributeViString(self, vi, channel_name, attribute, buffer_size, value):
    with self._func_lock:
        if (self.niDigital_GetAttributeViString_cfunc is None):
            self.niDigital_GetAttributeViString_cfunc = self._get_library_function('niDigital_GetAttributeViString')
            self.niDigital_GetAttributeViString_cfunc.argtypes = [ViSession, ctypes.POINTER(ViChar), ViAttr, ViInt32, ctypes.POINTER(ViChar)]
            self.niDigital_GetAttributeViString_cfunc.restype = ViStatus
    return self.niDigital_GetAttributeViString_cfunc(vi, channel_name, attribute, buffer_size, value)
def niDigital_GetAttributeViString(self, vi, channel_name, attribute, buffer_size, value):
    with self._func_lock:
        if (self.niDigital_GetAttributeViString_cfunc is None):
            self.niDigital_GetAttributeViString_cfunc = self._get_library_function('niDigital_GetAttributeViString')
            self.niDigital_GetAttributeViString_cfunc.argtypes = [ViSession, ctypes.POINTER(ViChar), ViAttr, ViInt32, ctypes.POINTER(ViChar)]
            self.niDigital_GetAttributeViString_cfunc.restype = ViStatus
    return self.niDigital_GetAttributeViString_cfunc(vi, channel_name, attribute, buffer_size, value)