<!--
{
  "availability" : [
    "macOS: 15.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Virtualization",
  "identifier" : "/documentation/Virtualization/VZUSBMassStorageDevice",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Virtualization"
    ],
    "preciseIdentifier" : "c:objc(cs)VZUSBMassStorageDevice"
  },
  "title" : "VZUSBMassStorageDevice"
}
-->

# VZUSBMassStorageDevice

A class that represents a hot-pluggable USB mass storage device.

```
class VZUSBMassStorageDevice
```

## Overview

Create this device either by instantiating it directly and passing [`VZUSBMassStorageDeviceConfiguration`](/documentation/Virtualization/VZUSBMassStorageDeviceConfiguration) to its initializer, or instantiating a `VZUSBMassStorageDeviceConfiguration` in a [`VZVirtualMachineConfiguration`](/documentation/Virtualization/VZVirtualMachineConfiguration). Direct instantiation creates an object that you can pass to [`attach(device:completionHandler:)`](/documentation/Virtualization/VZUSBController/attach(device:completionHandler:)). Instantiation through `VZUSBMassStorageDeviceConfiguration` makes the device available in the [`usbDevices`](/documentation/Virtualization/VZUSBController/usbDevices) property.

## Topics

### Creating a USB mass storage device

[`init(configuration:)`](/documentation/Virtualization/VZUSBMassStorageDevice/init(configuration:))

Creates a USB mass storage device with the provided configuration.

## See Also

[`VZUSBController`](/documentation/Virtualization/VZUSBController)

A class that represents a USB controller in a VM.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)