Ich möchte einen IOCTL-Befehl an einen PC / SC-Leser senden, der an meinen Computer angeschlossen ist (win7 64 bit). Um einen IOCTL-Befehl zu senden, benötige ich einen HANDLE zum Gerät, den ich nicht erstellen kann.
Das Gerät wird im Gerätemanager als "OMNIKEY 1021" aufgeführt. Der Name des physischen Geräteobjekts lautet "\ Device \ USBPDO-15". Mit dem "WinObj" -Tool kann ich 2 symbolische Links erkennen: USB # VID_076B & amp; PID_1021 # 5 & amp; 291f6990 & amp; 0 & amp; 1 # {50dd5230-ba8a-11d1-bf5d-0000f805f530} USB # VID_076B & amp; PID_1021 # 5 & amp; 291f6990 & amp; 0 & amp; 1 # {a5dcbf10-6530-11d2-901f-00c04fb951ed}
Mein Problem: Ich kann mit der CreateFile-Funktion kein gültiges Handle für dieses Gerät erstellen:
Ich habe mehrere mögliche Formate in MSDN / Google als Parameter lpFileName der CreateFile-Funktion gefunden, aber keine davon scheint zu funktionieren:
%Vor%Codebeispiel :
%Vor%Hinweise:
bearbeiten:
Lösung:
Versuche es auf meine Art. Ich verwende Setup-API, um alle aktiven USB-Geräte im System aufzuzählen und Pfade abzurufen. Auf diese Weise können Sie herausfinden, ob es der Pfad oder andere Argumente sind, die CreateFile
nicht mögen.
Ich werde ein paar Kommentare später hinzufügen, wenn jemand interessiert ist.
%Vor%