winusb protokolü hakkında yardım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
seci20
Üye
Mesajlar: 219
Kayıt: 25 May 2015 04:39

winusb protokolü hakkında yardım

Mesaj gönderen seci20 » 30 May 2018 06:04

Ustalarım kolay gelsin. Android cihazlara usb üzerinden bağlantı yapmaya çalışıyorum. Amacım adb.exe kullanmadan direk olarak kendim program yazmak. AdbWinApi.dll kaynak koduna baktığımda winusb kullandığını gördüm. Bakınız. Aynı işlemleri ben uyguladığımda cihazı başarı ile açsam bile malasef cihazdan hiç bir tepki gelmiyor.


Adb.exe ile cihaza komut gönderdiğimde bakınız bu şekilde oluyor..



Resim


Görüldüğü gibi direk cihaz tepki veriyor. Ben open yaptığımda yada veri gönderdiğimde winusb gönderdiğini söylüyor ama okunan yada yazılan bir veri gözükmüyor.


Resim

Kullandığım winusb eklentisi....

https://sourceforge.net/projects/winusb-delphi/


Guid adresleri doğru open sorunsuz yapılıyor winusb sorunsuz bağlanıyor.Nerede hata yapıyor olabilirim yada atladığım bir kısımmı var ?

Kendi kodum şu şekilde...

Kod: Tümünü seç

procedure OpenWinUSBDevice(deviceName: String);


begin
    Info('Trying to open '+deviceName);
    hWinUsbHandle := CreateFile(
      PChar(deviceName),
      GENERIC_WRITE or GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE,
      nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED, 0);

    if hWinUsbHandle = INVALID_HANDLE_VALUE then begin
      Info('Cannot get a handle for the device. Perhaps it''s not attached.');
      Exit;
    end else begin
      Info('Device opened. Device handle is $'+inttohex(Integer(hWinUsbHandle),8));
       if WinUsb_Initialize(hWinUsbHandle, hWinUsbHandle) then begin
      Info('WinUSB Init Ok. WinUSB handle is $'+inttohex(Integer(hWinUsbHandle),8));
    end else begin
      Info('WinUSB Init Failed.');
      Exit;
    end;

    end;



end;
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenWinUSBDevice('\\.\\USB#VID_1004&PID_61F1&MI_04#6&173e569f&0&0004#{a6782bce-4376-4de2-8096-70aa9e8fed19}');

end;


Ama malasef başaramadım veri göndermeyi ve cihazdan çekmeyi bir türlü başaramadım yardımlarınızı bekliyorum şimdiden çok teşekkür ederim....

Cevapla