IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE IOCTL (usbioctl.h)
The IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE I/O request unregisters the driver of a USB multi-function device (composite driver) and releases all resources that are associated with registration. The request is successful only if the composite driver was previously registered with the underlying USB driver stack through the IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE request.
IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE is a kernel-mode I/O control request. This request targets the Universal Serial Bus (USB) hub physical device object (PDO). This request must be sent at an interrupt request level (IRQL) of PASSIVE_LEVEL.
Major code
IRP_MJ_INTERNAL_DEVICE_CONTROL
Input buffer
None.
Input buffer length
None.
Output buffer
None.
Output buffer length
None.
Status block
The USB driver stack sets Irp->IoStatus.Status to STATUS_SUCCESS or the appropriate error status.
Remarks
You must send the IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE request in the composite driver's remove-device (IRP_MN_REMOVE_DEVICE) routine.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Header | usbioctl.h (include Usbioctl.h) |
IRQL | PASSIVE_LEVEL |