anchor.diff:      final deviceInfoSetPtr =
           SetupDiGetClassDevs(deviceGuid, nullptr, NULL, DIGCF_PRESENT);
       try {
  -      final deviceHandles = iterateDeviceHandle(deviceInfoSetPtr, deviceGuid);
  -      for (final handle in deviceHandles) {
  -        print('net device ${handle.toHexString(32)}');
  +      final deviceHandles = deviceIntancesByClass(deviceInfoSetPtr, deviceGuid);
  +      for (final instance in deviceHandles) {
  +        print('net device instance ${instance.toHexString(32)}');
         }
       } finally {
         SetupDiDestroyDeviceInfoList(deviceInfoSetPtr);
  
positive.code:   }
  }
  
  Iterable<String> iterateInterfacePath(
      Pointer deviceInfoSetPtr, Pointer<GUID> interfaceGuid) sync* {
    final requiredSizePtr = calloc<DWORD>();
    final deviceInterfaceDataPtr = calloc<SP_DEVICE_INTERFACE_DATA>()
  
negative.code:     final deviceInfoSetPtr = SetupDiGetClassDevs(
          interfaceGuid, nullptr, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
      try {
        final devicePaths =
            devicePathsByInterface(deviceInfoSetPtr, interfaceGuid);
        for (final path in devicePaths) {
          print('hid device path $path');
        }
      } finally {
        SetupDiDestroyDeviceInfoList(deviceInfoSetPtr);
  