Encontrando e abrindo uma coleção de HID

Este artigo descreve como aplicativos de modo de usuário e drivers de modo kernel localizam e abrem uma coleção de HID de nível superior.

Aplicativo no modo de usuário

O Microsoft Windows fornece rotinas de instalação de dispositivos (funções SetupDiXxx) para localizar e identificar os dispositivos HIDClass. O Windows fornece outras funções Win32 para inicializar e se conectar a uma coleção de HID.

Depois que um aplicativo no modo de usuário é carregado, ele executa a seguinte sequência de operações:

  • Chama HidD_GetHidGuid para obter o GUID definido pelo sistema para dispositivos HIDClass.

  • Chama SetupDiGetClassDevs para obter um identificador para um conjunto de informações de dispositivo opaco que descreve as interfaces de dispositivo compatíveis com todas as coleções de HID atualmente instaladas no sistema. O aplicativo deve especificar DIGCF_PRESENT e DIGCF_DEVICEINTERFACE no parâmetro Flags que é passado para SetupDiGetClassDevs.

  • Chama SetupDiEnumDeviceInterfaces repetidamente para recuperar todas as informações de interface disponíveis.

  • Chama SetupDiGetDeviceInterfaceDetail para formatar informações de interface para cada coleção como uma estrutura SP_INTERFACE_DEVICE_DETAIL_DATA. O membro DevicePath dessa estrutura contém o nome do modo de usuário que o aplicativo usa com a função Win32 CreateFile para obter um identificador de arquivo para uma coleção HID.

  • Chama CreateFile para obter um identificador de arquivo para uma coleção de HID.

driver de modo kernel

Se um driver de modo kernel for um driver de função ou filtro, ele anexará um objeto de dispositivo à pilha de dispositivos da coleção de HID. O driver precisa usar apenas uma solicitação de criação para abrir o dispositivo.

Se o driver não for um driver de função ou filtro, ele normalmente usará a Notificação Plug and Play para localizar uma coleção. Depois que o driver encontra uma coleção, ele usa uma solicitação de criação para abrir a coleção.