The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UsbControlRecipient enumeration

Applies to Windows only

Defines constants that indicate the recipient of a USB control transfer. The recipient is defined in the setup packet of the control request. See Table 9.2 of section 9.3 of the Universal Serial Bus (USB) specification (


public enum UsbControlRecipient




The UsbControlRecipient enumeration has these members.

Device | device0

The recipient of the control transfer is the device.

SpecifiedInterface | specifiedInterface1

The recipient of the control transfer is the USB interface that is specified in the request.

Endpoint | endpoint2

The recipient of the control transfer is an endpoint.

Other | other3

The recipient of the control transfer is other.

DefaultInterface | defaultInterface4

The recipient of the control transfer is the default (or the first) USB interface in the selected configuration of the device.

If the recipient is the first interface of the active configuration (DefaultInterface), SendControlInTransferAsync and SendControlOutTransferAsync methods overwrite the low byte of UsbSetupPacket.Index with the interface number of the default interface.

By using this value, an app can omit the interface number in an interface-recipient request.


For conceptual information about USB control transfers, see "About the default endpoint" and "Layout of a control transfer" in How to send a USB control transfer.


Minimum supported client

Windows 8.1

Minimum supported server

Windows Server 2012 R2

Minimum supported phone

None supported


Windows::Devices::Usb [C++]





© 2014 Microsoft