2014-06-23 7 views
6

OK, zuerst möchte ich darauf hinweisen, dass ich völlig neu in Windows Apps Entwicklung bin, was gut ist, da ich versuche, eine Windows Store App für den PC zu entwickeln, um einen PrimeSense Scanner zu verwenden über USB verbunden. Ich habe eine genauere Frage zu diesem here gestellt.Zugriff auf USB-Gerät in Windows Store App nicht möglich

Dieses Mal habe ich eine allgemeinere Frage, die mehr mit Windows Store App Entwicklung zusammenhängt. Ich verwende VS2013 Express und kompiliere für Win32.

Wenn ich meine Anwendung für VS2012 kompiliere und es als ausführbare Datei ausführe, kann ich mich perfekt mit dem Scanner verbinden. Aber ich kann nicht das gleiche mit VS2013 tun und es als Store-App ausführen.

Ich weiß, dass das Gerät verbunden ist und die Treiber aktualisiert sind und alle dlls-Datei im Verzeichnis Widnows System 32 platziert. I haben auch alle Funktionen zum App Manifest und auch hinzugefügt, um die folgenden Vorrichtungsfähigkeits

<m2:DeviceCapability Name="usb"> 
    <!--OSRFX2 Device--> 
    <m2:Device Id="vidpid:1d27 0609"> 
    <m2:Function Type="classId:ff * *" /> 
    <m2:Function Type="name:vendorSpecific" /> 
    </m2:Device> 
</m2:DeviceCapability> 

VID und PID hinzugefügt, offensichtlich die entsprechenden Codes der Vorrichtung entsprechen.

Einer der Fehler, die ich empfangen, wenn an den Scanner zu conenct versucht OpenNI mit ist:

Could not open to "\\?\usb#vid_1d27&pid_0609&mi_00#7&1601586a&0&0000#{c3b5f022-5a42-1980-1909-ea72095601b1}" USB Device not found 

Dieser Fehler ist ziemlich frustrierend, da ich das Gerät wissen, verbunden ist. Daher denke ich, dass es auf der Seite der Windows Store-App eine bestimmte OS-Spezifität gibt, die es mir nicht ermöglicht, eine Verbindung mit dem Gerät herzustellen. Wie gesagt, ich kompiliere für Win32.

Gibt es eine Chance, dass die Treiber nicht für eine Windows Store App funktionieren. Gibt es einige zusätzliche Dinge, die ich in der Windows Store App-Logik tun sollte, die ich nicht mache und die zum Anschließen des USB-Geräts erforderlich sind? Es tut mir leid, aber ich bin völlig neu in der Windows Store App Entwicklung.

Vielen Dank.

+1

Bitte bestätigen Sie, dass Ihr Titel nach der Windows Store App fragt, aber in der Mitte sagen Sie: "Die VS2013 Desktop App findet den Scanner nicht". Ich bin ein bisschen verwirrt. Meinst du "VS2013 Store App wird den Scanner nicht finden"? – Nasenbaer

+0

Ja, ich meinte "VS2013 Store App". Danke, dass du darauf hingewiesen hast. – MobileCushion

Antwort

1

Sie können das nicht von Metro-Apps tun.

Normalerweise erstellen Sie ein Handle für dieses USB-Gerät, indem Sie CreateFile mit der object mananger path als die Datei zum Erstellen aufrufen. CreateFile ist not allowed in Metro-Apps - nur "Desktop-Apps" - und seine "Ersetzung", CreateFile2, erlaubt insbesondere nicht das Öffnen von Objektmanager-Objekten.

Darüber hinaus besagt die Dokumentation für CreateFile2, dass in Metro-Apps diese Funktion nur Dateien und Verzeichnisse öffnen kann (und nicht Dinge wie Pipes, Mailslots, Konsolen usw.).

Siehe auch this post on social.msdn

Wenn ich etwas verpasst, ich glaube nicht, das ist möglich.

+0

Ok Ich nehme an, das ist jetzt nicht möglich ... Hoffe, es gibt eine Veränderung in der Zukunft. Danke – MobileCushion

+0

@MobileCushion - Leider, ich denke nicht, dass dies geändert werden soll. Microsofts Modell mit den Metro/Windows Store-Apps ist ein eingeschränkteres, "sichereres" Modell.Es gibt möglicherweise eine Problemumgehung: Wenn Sie ein Desktop-Programm neben Ihrer Metro-App installieren dürfen, können Sie das Desktop-Programm verwenden, das Daten von Ihrer Metro-App zum USB-Gerät pendelt. Aber ich weiß nicht, wie du das verteilen würdest. – antiduh

Verwandte Themen