2014-06-11 2 views
1

similaires à: http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/2cb65387-aad8-444d-a462-c44f3111a877/action?threadDisplayName=win81-hid-device-returning-nullde Windows 8.1 retourne App Store HidDevice.FromIdAsync null

J'essaie d'accéder à un périphérique HID pour l'OCR et la lecture Mag Stripe, le mini MPR Desko. C'est venpid est 0x0744 0x001D et il a trois interfaces, [identification d'utilisation de page d'utilisation] 0x0001 0x0002, 0x0001 0x0006, et 0xFFA0 0x0001.

Comme le problème lié, FindAllAsync renvoie une DeviceInformation, HidDevice.FromIdAsync renvoie null et DeviceAccessInformation.CurrentStatus renvoie ElementNotFound. Je comprends que la page d'utilisation 0x0001 est bloquée mais je m'attends à ce que 0xFFA0 ait accès.

Pour la capacité de l'appareil, j'ai essayé:

<m2:DeviceCapability Name="humaninterfacedevice"> 
    <!--Desko Device--> 
    <m2:Device Id="vidpid:0744 001D usb"> 
    <m2:Function Type="usage:0001 *"/> 
    </m2:Device> 
</m2:DeviceCapability> 

et

<m2:DeviceCapability Name="humaninterfacedevice"> 
    !--Desko Device--> 
    <m2:Device Id="vidpid:0744 001D usb"> 
    <m2:Function Type="usage:FFA0 0001"/> 
    /m2:Device> 
</m2:DeviceCapability> 

et

<m2:DeviceCapability Name="humaninterfacedevice"> 
    <!--Desko Device--> 
    <m2:Device Id="vidpid:0744 001D usb"> 
    <m2:Function Type="usage:FFA0 *"/> 
    </m2:Device> 
</m2:DeviceCapability> 

aucun ne produit le résultat souhaité.

Que puis-je faire pour accéder à cet appareil? UMDF personnalisé? Composants Brokered? Obtenir un nouvel appareil - comment puis-je savoir à l'avance c'est compatible?

+0

Avez-vous essayé le second avec 'ffa0' étant minuscules? Avez-vous essayé d'ajouter toutes les interfaces d'utilisation? Selon [this] (http://msdn.microsoft.com/en-us/library/windows/apps/dn263091.aspx) vous pouvez ajouter plusieurs. –

Répondre

2

épuisé toutes les autres avenues et avant de tenter les fous - UMDF, ou Brokered composants, j'ai lu cet article de débogage à nouveau: Writing Apps for USB Devices

Cette fois, je prêté une attention à la section du conducteur. En regardant les pilotes installés pour mon appareil, j'ai remarqué que le pilote de Kaspersky était installé. Donc, pour tester, j'ai désinstallé Kaspersky, redémarré et ensuite supprimé toutes les entrées de l'appareil dans le gestionnaire de périphériques et le registre (HKLM \ System \ CurrentControlSet \ Control \ DeviceClasses).

Ensuite, je l'ai branché dans l'appareil, a couru mon programme de test et FromIdAsync travaillé en utilisant le usagePage prévu FFA0 et de l'utilisation 0001.

Questions connexes