code: def get_parent_device(self):
          
          if not self.parent_instance_id:
              return ""
          dev_buffer_type = winapi.c_tchar * MAX_DEVICE_ID_LEN
          dev_buffer = dev_buffer_type()
          try:
              if winapi.CM_Get_Device_ID(self.parent_instance_id, byref(dev_buffer),
                      MAX_DEVICE_ID_LEN, 0) == 0: #success
                  return dev_buffer.value
              return ""
          finally:
              del dev_buffer
              del dev_buffer_type
docs: Retreive parent device string id