---
title: "createMatchingDictionaryWithVendorID:productID:bcdDevice:interfaceNumber:configurationValue:interfaceClass:interfaceSubclass:interfaceProtocol:speed:productIDArray:"
framework: iousbhost
role: symbol
role_heading: Type Method
path: "iousbhost/iousbhostinterface/creatematchingdictionarywithvendorid:productid:bcddevice:interfacenumber:configurationvalue:interfaceclass:interfacesubclass:interfaceprotocol:speed:productidarray:"
---

# createMatchingDictionaryWithVendorID:productID:bcdDevice:interfaceNumber:configurationValue:interfaceClass:interfaceSubclass:interfaceProtocol:speed:productIDArray:

Creates a matching dictionary to find a USB interface.

## Declaration

```occ
+ (CFMutableDictionaryRef) createMatchingDictionaryWithVendorID:(NSNumber *) vendorID productID:(NSNumber *) productID bcdDevice:(NSNumber *) bcdDevice interfaceNumber:(NSNumber *) interfaceNumber configurationValue:(NSNumber *) configurationValue interfaceClass:(NSNumber *) interfaceClass interfaceSubclass:(NSNumber *) interfaceSubclass interfaceProtocol:(NSNumber *) interfaceProtocol 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.
- `interfaceNumber`: The interface number of the device you’re searching for.
- `configurationValue`: The configuration value of the device you’re searching for.
- `interfaceClass`: The interface class of the device you’re searching for.
- `interfaceSubclass`: The interface subclass of the device you’re searching for.
- `interfaceProtocol`: The interface protocol of the device you’re searching for.
- `speed`: The enumeration speed of the device. You can 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 Returns the CFMutableDictionary used with IOKit matching methods such as IOServiceGetMatchingService(_:_:). The caller is responsible for releasing the reference.

## 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

### Matching Properties

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

## See Also

### Related Documentation

- [IOUSBHostInterface](iousbhost/iousbhostinterface.md)
- [IOUSBInterfaceDescriptor](iokit/iousbinterfacedescriptor.md)
