---
title: "createMatchingDictionaryWithVendorID:productID:bcdDevice:deviceClass:deviceSubclass:deviceProtocol:speed:productIDArray:"
framework: iousbhost
role: symbol
role_heading: Type Method
path: "iousbhost/iousbhostdevice/creatematchingdictionarywithvendorid:productid:bcddevice:deviceclass:devicesubclass:deviceprotocol:speed:productidarray:"
---

# createMatchingDictionaryWithVendorID:productID:bcdDevice:deviceClass:deviceSubclass:deviceProtocol:speed:productIDArray:

Creates a matching dictionary to find a USB device.

## Declaration

```occ
+ (CFMutableDictionaryRef) createMatchingDictionaryWithVendorID:(NSNumber *) vendorID productID:(NSNumber *) productID bcdDevice:(NSNumber *) bcdDevice deviceClass:(NSNumber *) deviceClass deviceSubclass:(NSNumber *) deviceSubclass deviceProtocol:(NSNumber *) deviceProtocol speed:(NSNumber *) speed productIDArray:(NSArray *) productIDArray;
```

## Parameters

- `vendorID`: The vendor ID for the device you’re searching for.
- `productID`: The product ID for the device you’re searching for.
- `bcdDevice`: The release number of the device you’re searching for.
- `deviceClass`: The class of the device you’re searching for.
- `deviceSubclass`: The subclass of the device you’re searching for.
- `deviceProtocol`: The protocol of the device you’re searching for.
- `speed`: The enumeration speed of the device you’re searching for. Add the speed to any of the keys in the table below.
- `productIDArray`: An array of product IDs to match against. Don’t use this parameter with the productID parameter.

## Return Value

Return Value A dictionary to pass to IOKit matching methods, such as IOServiceGetMatchingService(_:_:). The caller must release this object when done.

## Discussion

Discussion The table below shows the keys you can use to make a successful matching dictionary. A plus sign (+) separates the keys to emphasize the requirement that all of the specified keys combine. The table presents the keys in order of specificity. The first key defines the most specific search, and the last key defines the broadest search.  |   |   |   |   |   |   |

## Topics

### Properties

- [IOUSBHostMatchingPropertyKey](iousbhost/iousbhostmatchingpropertykey.md)
- [IOUSBHostPropertyKey](iousbhost/iousbhostpropertykey.md)

## See Also

### Related Documentation

- [IOUSBHostDevice](iousbhost/iousbhostdevice.md)
- [IOUSBDeviceDescriptor](iokit/iousbdevicedescriptor.md)
