Usar descritores de ContainerID do sistema operacional da Microsoft
O descritor ContainerID do sistema operacional da Microsoft pode ser usado em dispositivos que oferecem suporte a conexões simultâneas do dispositivo por meio de vários barramentos do sistema. Um descritor ContainerID do sistema operacional da Microsoft explicitamente definido garante que todos os nós de dispositivo (devnodes) enumerados para o dispositivo no barramento USB sejam agrupados no mesmo contêiner de dispositivo.
Observação Se você decidir implementar um descritor ContainerID do sistema operacional da Microsoft, o valor do descritor deve ser exclusivo em cada dispositivo para evitar conflitos de ID de contêiner.
O descritor ContainerID do sistema operacional da Microsoft é útil quando um dispositivo oferece suporte a conexões simultâneas com o dispositivo por meio de mais de um barramento. Dessa forma, o mesmo ID de contêiner é usado em cada barramento compatível com o dispositivo. Isso permite que o sistema operacional determine se as funções em cada barramento fazem parte do mesmo contêiner de dispositivo.
Se você decidir usar um ContainerID do sistema operacional da Microsoft dentro do seu dispositivo USB, esteja ciente dos seguintes pontos:
Para dispositivos que não estão integrados ao computador (ou seja, todos os dispositivos externos), é uma prática recomendada sempre fornecer um descritor ContainerID do sistema operacional da Microsoft e um número de série no hardware do dispositivo USB. Isso garantirá que a infraestrutura do Windows Plug and Play (PnP) seja capaz de agrupar corretamente todas as funções do dispositivo expostas pelo dispositivo. A partir do Windows 7, os componentes do sistema operacional dependem do agrupamento adequado de funções do dispositivo. Seguir essa prática fornecerá a melhor experiência do usuário para dispositivos na plataforma Windows.
Os dispositivos USB integrados a um computador nunca devem fornecer um descritor ContainerID do sistema operacional da Microsoft. Para garantir que os dispositivos integrados estejam agrupados corretamente com o contêiner de dispositivos do computador, os dispositivos integrados devem usar as configurações da BIOS ACPI ou o bit do descritor DeviceRemovable do hub USB para a porta.