anchor.diff:    }
   }
   
  -Iterable<Uint16List> devicesByInterface(
  +Iterable<String> devicesByInterface(
       Pointer hDevInfo, Pointer<GUID> interfaceGuid) sync* {
     final requiredSizePtr = calloc<DWORD>();
     final deviceInterfaceDataPtr = calloc<SP_DEVICE_INTERFACE_DATA>()
  
positive.code:           continue;
          }
  
          // rawPathData would be freed with detailDataMemoryPtr
          final rawPathData = deviceInterfaceDetailDataPtr
              .getDevicePathData(requiredSizePtr.value);
          yield Uint16List.fromList(rawPathData);
        } finally {
          free(detailDataMemoryPtr);
        }
  
negative.code: extension Pointer_SP_DEVICE_INTERFACE_DETAIL_DATA_
      on Pointer<SP_DEVICE_INTERFACE_DETAIL_DATA_> {
    /// FIXME [SP_DEVICE_INTERFACE_DETAIL_DATA_.DevicePath]
    Pointer<WCHAR> getDevicePathData(int requiredSize) =>
        Pointer<Uint16>.fromAddress(address + 4);
  }
  
  // -----------------------------------------------------------------------------
  // GATT Security and Other Flag-related Facilities
  // -----------------------------------------------------------------------------
  
  void printServicesByDevice(String path) {
    final pathPtr = TEXT(path);
  
    final hDevice = CreateFile(pathPtr.cast(), 0,
        FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, OPEN_EXISTING, 0, NULL);
  