REGISTER_COMPOSITE_DEVICE structure (usbdlib.h)
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
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for