AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi HID Komponente - Komme nicht zurecht

HID Komponente - Komme nicht zurecht

Offene Frage von "wschrabi"
Ein Thema von Michael94 · begonnen am 10. Mär 2007 · letzter Beitrag vom 23. Mär 2016
Antwort Antwort
Seite 6 von 6   « Erste     456
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49565
272 Beiträge
 
Delphi 10.3 Rio
 
#51

Re: HID Komponente - Komme nicht zurecht

  Alt 7. Apr 2008, 10:51
... schade - omata hüllt sich in Schweigen und behält sein ActiveX-Geheimnis für sich.
Sonst keiner hier im Forum mit einer Idee ? Aus mit nem Sniffer 'dabeizugehen' ?
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
275 Beiträge
 
#52

AW: HID Komponente - Komme nicht zurecht

  Alt 23. Mär 2016, 07:13
Hallo,
leider ist dieser Thread schon lange her.
Aber ich habe auch ein Problem. Habe ein HID Device, ohne Interrupt. Also genau so wie eine Maus.
WIe kann ich ohne die hid.dll funktion GetINputReport zu verwenden (da diese nicht auf der Android API verfügbar ist) mit der Jvcl Library einen GetInputReport realisieren.

Kann man da ein ReadFile verwenden? Doch wie wird der USB Request Get_report dann gesendet?
Wäre schön wenn mir einer helfen könnte.
danke
Walter

PS: I have not found an equivalent routine for HidD_GetFeature in Android API.
All I have found is:

Code:
//
// Generated by JavaToPas v1.5 20140918 - 093132
////////////////////////////////////////////////////////////////////////////////
unit android.hardware.usb.UsbDeviceConnection;

interface

uses
  AndroidAPI.JNIBridge,
  Androidapi.JNI.JavaTypes,
  android.hardware.usb.UsbInterface,
  android.hardware.usb.UsbEndpoint;

type
  JUsbRequest = interface; // merged
  JUsbDeviceConnection = interface;

  JUsbDeviceConnectionClass = interface(JObjectClass)
    ['{74BC41F4-07BC-431C-BC50-22DE40E287A9}']
    function bulkTransfer(endpoint : JUsbEndpoint; buffer : TJavaArray<Byte>; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (Landroid/hardware/usb/UsbEndpoint;[BII)I A: $1
    function bulkTransfer(endpoint : JUsbEndpoint; buffer : TJavaArray<Byte>; offset : Integer; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (Landroid/hardware/usb/UsbEndpoint;[BIII)I A: $1
    function claimInterface(intf : JUsbInterface; force : boolean) : boolean; cdecl;// (Landroid/hardware/usb/UsbInterface;Z)Z A: $1
    function controlTransfer(requestType : Integer; request : Integer; value : Integer; &index : Integer; buffer : TJavaArray<Byte>; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (IIII[BII)I A: $1
    function controlTransfer(requestType : Integer; request : Integer; value : Integer; &index : Integer; buffer : TJavaArray<Byte>; offset : Integer; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (IIII[BIII)I A: $1
    function getFileDescriptor : Integer; cdecl;                               // ()I A: $1
    function getRawDescriptors : TJavaArray<Byte>; cdecl;                      // ()[B A: $1
    function getSerial : JString; cdecl;                                       // ()Ljava/lang/String; A: $1
    function releaseInterface(intf : JUsbInterface) : boolean; cdecl;          // (Landroid/hardware/usb/UsbInterface;)Z A: $1
    function requestWait : JUsbRequest; cdecl;                                 // ()Landroid/hardware/usb/UsbRequest; A: $1
    procedure close ; cdecl;                                                   // ()V A: $1
  end;

  [JavaSignature('android/hardware/usb/UsbDeviceConnection')]
  JUsbDeviceConnection = interface(JObject)
    ['{8E5EFAEF-10A2-482F-8862-F8056786D1B9}']
    function bulkTransfer(endpoint : JUsbEndpoint; buffer : TJavaArray<Byte>; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (Landroid/hardware/usb/UsbEndpoint;[BII)I A: $1
    function bulkTransfer(endpoint : JUsbEndpoint; buffer : TJavaArray<Byte>; offset : Integer; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (Landroid/hardware/usb/UsbEndpoint;[BIII)I A: $1
    function claimInterface(intf : JUsbInterface; force : boolean) : boolean; cdecl;// (Landroid/hardware/usb/UsbInterface;Z)Z A: $1
    function controlTransfer(requestType : Integer; request : Integer; value : Integer; &index : Integer; buffer : TJavaArray<Byte>; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (IIII[BII)I A: $1
    function controlTransfer(requestType : Integer; request : Integer; value : Integer; &index : Integer; buffer : TJavaArray<Byte>; offset : Integer; length : Integer; timeout : Integer) : Integer; cdecl; overload;// (IIII[BIII)I A: $1
    function getFileDescriptor : Integer; cdecl;                               // ()I A: $1
    function getRawDescriptors : TJavaArray<Byte>; cdecl;                      // ()[B A: $1
    function getSerial : JString; cdecl;                                       // ()Ljava/lang/String; A: $1
    function releaseInterface(intf : JUsbInterface) : boolean; cdecl;          // (Landroid/hardware/usb/UsbInterface;)Z A: $1
    function requestWait : JUsbRequest; cdecl;                                 // ()Landroid/hardware/usb/UsbRequest; A: $1
    procedure close ; cdecl;                                                   // ()V A: $1
  end;

  TJUsbDeviceConnection = class(TJavaGenericImport<JUsbDeviceConnectionClass, JUsbDeviceConnection>)
  end;

  // Merged from: .\android-19\android.hardware.usb.UsbRequest.pas
  JUsbRequestClass = interface(JObjectClass)
    ['{2D0D4B19-E476-417D-B7E1-C209650DD3BB}']
    function cancel : boolean; cdecl;                                          // ()Z A: $1
    function getClientData : JObject; cdecl;                                   // ()Ljava/lang/Object; A: $1
    function getEndpoint : JUsbEndpoint; cdecl;                                // ()Landroid/hardware/usb/UsbEndpoint; A: $1
    function init : JUsbRequest; cdecl;                                        // ()V A: $1
    function initialize(connection : JUsbDeviceConnection; endpoint : JUsbEndpoint) : boolean; cdecl;// (Landroid/hardware/usb/UsbDeviceConnection;Landroid/hardware/usb/UsbEndpoint;)Z A: $1
    function queue(buffer : JByteBuffer; length : Integer) : boolean; cdecl;   // (Ljava/nio/ByteBuffer;I)Z A: $1
    procedure close ; cdecl;                                                   // ()V A: $1
    procedure setClientData(data : JObject) ; cdecl;                           // (Ljava/lang/Object;)V A: $1
  end;

  [JavaSignature('android/hardware/usb/UsbRequest')]
  JUsbRequest = interface(JObject)
    ['{BBCFD8A0-6F88-48AE-B012-B4EB489C2E4A}']
    function cancel : boolean; cdecl;                                          // ()Z A: $1
    function getClientData : JObject; cdecl;                                   // ()Ljava/lang/Object; A: $1
    function getEndpoint : JUsbEndpoint; cdecl;                                // ()Landroid/hardware/usb/UsbEndpoint; A: $1
    function initialize(connection : JUsbDeviceConnection; endpoint : JUsbEndpoint) : boolean; cdecl;// (Landroid/hardware/usb/UsbDeviceConnection;Landroid/hardware/usb/UsbEndpoint;)Z A: $1
    function queue(buffer : JByteBuffer; length : Integer) : boolean; cdecl;   // (Ljava/nio/ByteBuffer;I)Z A: $1
    procedure close ; cdecl;                                                   // ()V A: $1
    procedure setClientData(data : JObject) ; cdecl;                           // (Ljava/lang/Object;)V A: $1
  end;

  TJUsbRequest = class(TJavaGenericImport<JUsbRequestClass, JUsbRequest>)
  end;


implementation

end.
Can I realize the Get_Report with a Control Transfer (here there would be the function:
Code:
   function controlTransfer(requestType : Integer; request : Integer; value : Integer; &index : Integer; buffer : TJavaArray<Byte>; length : Integer; timeout : Integer) : Integer; cdecl; overload;
)

Any advices are very welcome!
Thanks
Walter

Geändert von wschrabi (23. Mär 2016 um 08:08 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf