Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The REGISTER_COMPOSITE_DEVICE structure is used with the IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE I/O control request to register a parent driver of a Universal Serial Bus (USB) multi-function device (composite driver) with the USB driver stack.
To initialize the REGISTER_COMPOSITE_DEVICE structure, the composite driver must call the USBD_BuildRegisterCompositeDevice routine.
Syntax
typedef struct _REGISTER_COMPOSITE_DEVICE {
USHORT Version;
USHORT Size;
USBDI_HANDLE Reserved;
COMPOSITE_DEVICE_CAPABILITIES CapabilityFlags;
ULONG FunctionCount;
} REGISTER_COMPOSITE_DEVICE, *PREGISTER_COMPOSITE_DEVICE;
Members
Version
The version of this structure. USBD_BuildRegisterCompositeDevice sets this member.
Size
The size of this structure. USBD_BuildRegisterCompositeDevice sets this member.
Reserved
Reserved. USBD_BuildRegisterCompositeDevice sets this member.
CapabilityFlags
The capabilities that are supported by the composite driver. To specify that function suspend is supported by the composite driver, first initialize the COMPOSITE_DEVICE_CAPABILITIES structure by calling the COMPOSITE_DEVICE_CAPABILITIES_INIT macro. Then, set the CompositeDeviceCapabilityFunctionSuspend member of COMPOSITE_DEVICE_CAPABILITIES to 1. Finally, call USBD_BuildRegisterCompositeDevice and pass the initialized structure in the CapabilityFlags parameter.
FunctionCount
The number of functions supported by the composite device. The FunctionCount value must not exceed 255.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows 8 |
| Header | usbdlib.h |
See also
COMPOSITE_DEVICE_CAPABILITIES_INIT