Driver pai genérico USB (Usbccgp.sys)
Este artigo descreve um controlador independente chamado controlador genérico principal USB (Usbccgp.sys), fornecido pela Microsoft para dispositivos USB compostos.
Muitos dispositivos USB expõem várias interfaces USB. Na terminologia USB, esses dispositivos são chamados de dispositivos compostos . O sistema operacional Windows inclui um recurso pai genérico no driver de barramento USB (Usbhub.sys) que expõe cada interface do dispositivo composto como um dispositivo separado. Este recurso é simplificado e melhorado, transferindo-o para um driver independente chamado USB generic parent driver (Usbccgp.sys). O fornecedor do dispositivo pode usar os recursos do driver pai genérico para fazer uso seletivo do suporte de 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 fornecido pela Microsoft para gerenciar a interface de teclas de energia.
Se os drivers nativos do Windows não suportarem a interface de um dispositivo, o fornecedor do dispositivo deverá fornecer um driver para a interface e um arquivo INF. O ficheiro INF deve ter uma seção INF DDInstall que corresponda ao ID do dispositivo da interface. O ficheiro INF não deve corresponder ao ID do dispositivo para o dispositivo composto em si, pois isso impede o carregamento do controlador pai genérico. Para obter uma explicação de como o sistema operativo carrega o driver pai genérico USB, consulte Enumeração de Dispositivos USB Compostos.
Alguns dispositivos agrupam interfaces em coleções de interfaces que trabalham juntas para executar uma função específica. Quando as interfaces são agrupadas em coleções de interfaces, o driver pai genérico trata cada coleção, em vez de cada interface individual, como um dispositivo. Para mais informações sobre a forma como o driver pai genérico gere as coleções de interface, consulte Enumeração de Coleções de Interface em Dispositivos Composto 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 de 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 sincronização e solicitações Plug and Play.
O driver pai genérico pode simplificar a tarefa para fornecedores de hardware composto, se os drivers fornecidos pela Microsoft suportarem algumas interfaces, mas não outras. Os fornecedores desses dispositivos precisam apenas fornecer drivers para as interfaces não suportadas, uma vez que o driver principal genérico permite o uso dos drivers fornecidos pela Microsoft nas interfaces suportadas.
As seções a seguir descrevem os recursos e funções do driver pai genérico:
- Enumeração de dispositivos compostos USB
- Descritores de dispositivos compostos USB
- Enumeração de interfaces em dispositivos compostos USB
- Enumeração de coleções de interface em dispositivos compostos USB
- funcionalidades de segurança de conteúdo no Usbccgp.sys