anchor.diff:    using((Arena arena) {
       final interfaceGuid = calloc<GUID>()..ref.setGUID(GUID_DEVINTERFACE_HID);
   
  -    final deviceInfoSetPtr = SetupDiGetClassDevs(interfaceGuid, nullptr, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
  +    final deviceInfoSetPtr = SetupDiGetClassDevs(
  +        interfaceGuid, nullptr, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
       try {
  -      final interfacePaths = _iterateInterfacePath(deviceInfoSetPtr, interfaceGuid);
  +      final interfacePaths =
  +          _iterateInterfacePath(deviceInfoSetPtr, interfaceGuid);
         for (final path in interfacePaths) {
           print('hid interface ${path.length}'); // utf8.decode(path)
         }
  
positive.code:   }
  }
  
  Iterable<Uint16List> _iterateInterfacePath(Pointer deviceInfoSetPtr, Pointer<GUID> interfaceGuid) sync* {
    final requiredSizePtr = calloc<Uint32>();
    final devicInterfaceDataPtr = calloc<SP_DEVICE_INTERFACE_DATA>()
      ..ref.cbSize = sizeOf<SP_DEVICE_INTERFACE_DATA>();
    try {
      for (var index = 0; SetupDiEnumDeviceInterfaces(deviceInfoSetPtr, nullptr, interfaceGuid.cast(), index, devicInterfaceDataPtr) == TRUE; index++) {
        final hr = SetupDiGetDeviceInterfaceDetail(deviceInfoSetPtr, devicInterfaceDataPtr, nullptr, 0, requiredSizePtr, nullptr);
        // FIXME https://github.com/timsneath/win32/issues/384
        // if (hr != TRUE) {
        //   final error = GetLastError();
  
negative.code: const DIGCF_PROFILE = 0x00000008;
  const DIGCF_DEVICEINTERFACE = 0x00000010;
  
  Iterable<int> _iterateDeviceHandle(
      Pointer deviceInfoSetPtr, Pointer<GUID> deviceGuid) sync* {
    final devInfoDataPtr = calloc<SP_DEVINFO_DATA>()
      ..ref.cbSize = sizeOf<SP_DEVINFO_DATA>();
    try {
      for (var index = 0;
          SetupDiEnumDeviceInfo(deviceInfoSetPtr, index, devInfoDataPtr) == TRUE;
          index++) {
        yield devInfoDataPtr.ref.DevInst;
      }
      final error = GetLastError();
  