Driver pai genérico USB (Usbccgp.sys)
Este artigo descreve um driver independente chamado driver pai genérico USB (Usbccgp.sys), fornecido pela Microsoft para dispositivos compostos.
Muitos dispositivos USB expõem várias interfaces USB. Na terminologia USB, esses dispositivos são chamados dispositivos compostos. O sistema operacional Windows inclui uma função pai genérica no driver de barramento USB (Usbhub.sys) que apresenta cada interface do dispositivo composto como um dispositivo separado. Este recurso é simplificado e aprimorado ao ser transferido para um driver independente chamado Driver pai genérico USB (Usbccgp.sys). O fornecedor de dispositivos pode usar os recursos do driver pai genérico para fazer uso seletivo do suporte ao driver fornecido pela Microsoft para algumas interfaces.
As interfaces de alguns dispositivos compostos operam de forma independente. Por exemplo, um teclado USB composto com botões de energia pode ter uma interface para o teclado e outra interface para os botões de energia. O driver pai genérico USB enumera cada uma dessas interfaces como um dispositivo separado. O sistema operacional carrega o driver de teclado fornecido pela Microsoft para gerenciar a interface do teclado e o driver de teclas de energia fornecidos pela Microsoft para gerenciar a interface de teclas de energia.
Se os drivers nativos do Windows não oferecerem suporte à interface de um dispositivo, o fornecedor do dispositivo deverá fornecer um driver para a interface e um arquivo INF. O arquivo INF deve ter uma seção INF DDInstall que corresponda ao identificador do dispositivo da interface. O arquivo INF não deve corresponder à ID do dispositivo para o próprio dispositivo composto, pois impede que o driver pai genérico seja carregado. Para obter uma explicação de como o sistema operacional carrega o driver pai genérico USB, consulte Enumeração de dispositivos compostos USB.
Alguns dispositivos agrupam interfaces em coleções de interfaces que funcionam juntas para executar uma função específica. Quando as interfaces são agrupadas em coleções de interface, o driver pai genérico trata cada coleção, em vez de cada interface individual, como um dispositivo. Para obter mais informações sobre como o driver pai genérico gerencia coleções de interfaces, consulte Enumeração de Coleções de Interfaces em Dispositivos Compostos USB.
Depois que o Windows carrega os drivers de cliente para as interfaces de um dispositivo composto, o driver pai genérico multiplexa o fluxo de dados dos drivers cliente, combinando essas interações separadas em um único fluxo de dados para o dispositivo composto. O pai genérico é o proprietário da política de energia para todo o dispositivo composto e todas as suas interfaces. Ele também gerencia as solicitações de sincronização e plug-and-play.
O driver pai genérico pode simplificar a tarefa para fornecedores de hardware composto, se os drivers fornecidos pela Microsoft derem suporte a algumas interfaces, mas não a outras. Os fornecedores desses dispositivos precisam apenas fornecer drivers para as interfaces sem suporte, pois o driver pai genérico facilita o uso de drivers fornecidos pela Microsoft para as interfaces com suporte.
As seções a seguir descrevem os recursos e as funções do driver pai genérico:
- Enumeração de dispositivos compostos USB
- Descritores em dispositivos compostos USB
- Enumeração de interfaces em dispositivos compostos USB
- Enumeração de coleções de interfaces em dispositivos compostos USB
- Recursos de segurança de conteúdo no Usbccgp.sys