Pergunta

Eu estou querendo saber por que o framework .NET não fornece quaisquer métodos gerenciados para trabalhar com drivers USB. De tudo o que tenho ler você ainda tem que pôr em API do Windows e uso triagem e PInvoke e toda essa baboseira que nenhum de nós NET programadores querem ter que fazer. Por que .NET fornecer métodos para a comunicação com portas seriais, mas não portas USB? USB tornou-se muito mais amplamente utilizado que portas seriais agora, não é o momento que incorporou o Framework?

Foi útil?

Solução

Como todos os outros recursos do framework .Net que se resume a recompensa custo vs.. A cada lançamento de .Net os proprietários têm de tomar decisões de corte muito dolorosos para os recursos. Há simplesmente demasiados pedidos / quer satsify todos eles. Os que são escolhidos necessidade de fornecer um claro valor a um custo razoável.

Meu palpite é que as portas seriais, enquanto provavelmente menos popular do que USB, são simplesmente mais fácil de implementar em código gerenciado. Assim, mesmo que o uso pode não ser tão alta, a relativa facilidade da sua implementação colocá-los ao longo do topo.

Outras dicas

USB é apenas um ônibus. A maneira como você se comunica com o dispositivo depende do chip no outro lado do ônibus. Não há uma maneira padronizada para conversar com todos os dispositivos.

Se um provedor de dispositivo USB deseja expor o aparelho a uma forma padrão (a maioria deles estão em conformidade com os padrões para economizar custos em desenvolver, documentar e educar os clientes sobre suas APIs), seus programadores motorista pode escrever motoristas que fazem a dispositivo disponível a várias APIs do Windows (armazenamento em massa, WIA, DirectShow, porta serial virtual, Bluetooth, dispositivo de interface Humana, etc). Novamente, uma vez que os motoristas padronizados já estão expostos a API do Windows, não há necessidade de .Net para conversar com hardware diretamente.

Se você estiver olhando para interface com um dispositivo USB compatível HID que você pode dar uma olhada CC .USBHID. É velho e desagradável, mas pode você ir na direção certa. Pode haver mais maduros projetos disponíveis.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top