anchor.diff:              .getDevicePathData(requiredSizePtr.value);
           yield Uint16List.fromList(rawPathData);
         } finally {
  -        calloc.free(detailDataMemoryPtr);
  +        free(detailDataMemoryPtr);
         }
       }
   
  
positive.code:   try {
      int hr;
      using((Arena arena) {
        final bufferCountPtr = arena<Uint16>();
        hr = BluetoothGATTGetServices(hDevice, 0, nullptr, bufferCountPtr, BLUETOOTH_GATT_FLAG_NONE);
        if (hr != HRESULT_FROM_WIN32(ERROR_MORE_DATA)) {
          print('BluetoothGATTGetServices - Get Buffer Count error: $hr');
          throw WindowsException(hr);
        }
  
        final serviceBufferPtr = arena<BTH_LE_GATT_SERVICE>(bufferCountPtr.value);
        final numServicesPtr = arena<Uint16>();
        hr = BluetoothGATTGetServices(hDevice, bufferCountPtr.value, serviceBufferPtr, numServicesPtr, BLUETOOTH_GATT_FLAG_NONE);
        if (hr != S_OK) {
          print('BluetoothGATTGetServices - Get Service Buffer error: $hr');
          throw WindowsException(hr);
        }
        for (var i = 0; i < numServicesPtr.value; i++) {
          print('BluetoothGATTService - ${serviceBufferPtr[i].ServiceUuid.LongUuid}');
        }
      });
    } finally {
      CloseHandle(hDevice);
      calloc.free(pathPtr);
    }
  }
negative.code:             sizeOf<SP_DEVICE_INTERFACE_DETAIL_DATA_>();
  
          final hr = SetupDiGetDeviceInterfaceDetail(
              hDevInfo,
              deviceInterfaceDataPtr,
              deviceInterfaceDetailDataPtr,
              requiredSizePtr.value,
              nullptr,
  