Skip to content

Commit 5236349

Browse files
Freshness.
1 parent 6583cfe commit 5236349

1 file changed

Lines changed: 17 additions & 16 deletions

File tree

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
---
22
title: USB Generic Parent Driver (Usbccgp.sys)
3-
description: This article describes an independent driver called the USB generic parent driver (Usbccgp.sys), provided by Microsoft for composite devices.
4-
ms.date: 12/04/2024
3+
description: Learn about the independent driver called the USB generic parent driver (Usbccgp.sys) that Microsoft provides for composite devices.
4+
ms.date: 10/31/2025
55
ms.topic: concept-article
6+
#customer intent: As a hardware developer, I want to understand the Usbccgp.sys driver that Microsoft provides for composite devices.
67
---
78

89
# USB generic parent driver (Usbccgp.sys)
910

10-
This article describes an independent driver called the USB generic parent driver (Usbccgp.sys), provided by Microsoft for composite devices.
11+
This article describes an independent driver called the USB generic parent driver (Usbccgp.sys) that Microsoft provides Microsoft for composite devices.
1112

12-
Many USB devices expose multiple USB interfaces. In USB terminology, these devices are called *composite devices*. The Windows operating system includes a generic parent facility in the USB bus driver (Usbhub.sys) that exposes each interface of the composite device as a separate device. This facility is streamlined and improved by transferring it to an independent driver called the *USB generic parent driver* (Usbccgp.sys). Device vendor can use the features of the generic parent driver to make selective use of Microsoft-supplied driver support for some interfaces.
13+
Many USB devices expose multiple USB interfaces. These devices are called *composite devices*. The Windows operating system includes a generic parent facility in the USB bus driver (Usbhub.sys) that exposes each interface of the composite device as a separate device. This facility is streamlined and improved by transferring it to an independent driver called the *USB generic parent driver* (Usbccgp.sys). Device vendors can use the generic parent driver to make selective use of Microsoft-supplied driver support for some interfaces.
1314

14-
The interfaces of some composite devices operate independently. For example, a composite USB keyboard with power buttons might have one interface for the keyboard and another interface for the power buttons. The USB generic parent driver enumerates each of these interfaces as a separate device. The operating system loads the Microsoft-supplied keyboard driver to manage the keyboard interface, and the Microsoft-supplied power keys driver to manage the power keys interface.
15+
The interfaces of some composite devices operate independently. For example, a composite USB keyboard with power buttons might have one interface for the keyboard and another interface for the power buttons. The USB generic parent driver enumerates each of these interfaces as a separate device. The operating system loads the Microsoft-supplied keyboard driver to manage the keyboard interface. It loads the Microsoft-supplied power keys driver to manage the power keys interface.
1516

16-
If the native Windows drivers don't support a device's interface, the vendor of the device should provide a driver for the interface and an INF file. The INF file should have an INF **DDInstall** section that matches the device ID of the interface. The INF file must not match the device ID for the composite device itself, because it prevents the generic parent driver from loading. For an explanation of how the operating system loads the USB generic parent driver, see [Enumeration of USB Composite Devices](enumeration-of-the-composite-parent-device.md).
17+
If the native Windows drivers don't support a device's interface, the vendor of the device should provide a driver for the interface and an information (INF) file. The INF file should have an INF **DDInstall** section that matches the device ID of the interface. The INF file must not match the device ID for the composite device itself. This configuration prevents the generic parent driver from loading. For an explanation of how the operating system loads the USB generic parent driver, see [Enumeration of USB composite devices](enumeration-of-the-composite-parent-device.md).
1718

18-
Some devices group interfaces into interface collections that work together to perform a particular function. When interfaces are grouped in interface collections, the generic parent driver treats each collection, rather than each individual interface, as a device. For more information on how the generic parent driver manages interface collections, see [Enumeration of Interface Collections on USB Composite Devices](support-for-interface-collections.md).
19+
Some devices group interfaces into interface collections that work together to perform a function. When interfaces are grouped in interface collections, the generic parent driver treats each collection as a device, rather than each individual interface. For more information, see [Overview of enumeration of interface collections on USB composite devices](support-for-interface-collections.md).
1920

20-
After Windows loads the client drivers for the interfaces of a composite device, the generic parent driver multiplexes the data flow from the client drivers, combining these separate interactions into a single data stream for the composite device. The generic parent is power policy owner for the entire composite device and all of its interfaces. It also manages synchronization and Plug and Play requests.
21+
After Windows loads the client drivers for the interfaces of a composite device, the generic parent driver multiplexes the data flow from the client drivers. It combines the separate interactions into a single data stream for the composite device. The generic parent is power policy owner for the entire composite device and all of its interfaces. It also manages synchronization and Plug and Play requests.
2122

22-
The generic parent driver can simplify the task for vendors of composite hardware, if Microsoft-supplied drivers support some interfaces but not others. Vendors of such devices need only supply drivers for the unsupported interfaces, because the generic parent driver facilitates the use of Microsoft-supplied drivers for the supported interfaces.
23+
If Microsoft-supplied drivers support some interfaces but not others, the generic parent driver can simplify the task for vendors of composite hardware. Vendors only need to supply drivers for the unsupported interfaces. The generic parent driver facilitates the use of Microsoft-supplied drivers for the supported interfaces.
2324

24-
The following sections describe the features and functions of the generic parent driver:
25+
The following articles describe the features and functions of the generic parent driver:
2526

26-
- [Enumeration of USB Composite Devices](enumeration-of-the-composite-parent-device.md)
27-
- [Descriptors on USB Composite Devices](descriptors-on-composite-usb-devices.md)
28-
- [Enumeration of Interfaces on USB Composite Devices](enumeration-of-interfaces-not-grouped-in-collections.md)
29-
- [Enumeration of Interface Collections on USB Composite Devices](support-for-interface-collections.md)
30-
- [Content Security Features in Usbccgp.sys](content-security-features-in-the-composite-client-generic-parent-drive.md)
27+
- [Enumeration of USB composite devices](enumeration-of-the-composite-parent-device.md)
28+
- [Descriptors on USB composite devices](descriptors-on-composite-usb-devices.md)
29+
- [Enumeration of interfaces on USB composite devices](enumeration-of-interfaces-not-grouped-in-collections.md)
30+
- [Enumeration of interface collections on USB composite devices](support-for-interface-collections.md)
31+
- [Content security features in Usbccgp.sys](content-security-features-in-the-composite-client-generic-parent-drive.md)
3132

32-
## Related articles
33+
## Related content
3334

3435
- [Microsoft-provided USB drivers](system-supplied-usb-drivers.md)

0 commit comments

Comments
 (0)