MTP Problem

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von xd-franky-5.

    MTP Problem

    Hallo,
    ich versuche gerade Daten zu downloaden und uploaden eines Android-Geräts. Beim downloaden bekomme ich aber immer nur eine 1kb-große Datei. Kann mir jemand erklären warum ?
    Code:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub DownloadFile(file As PortableDeviceFile, saveToPath As String)
    2. Dim content As IPortableDeviceContent
    3. Me._device.Content(content)
    4. Dim resources As IPortableDeviceResources
    5. content.Transfer(resources)
    6. Dim wpdStream As PortableDeviceApiLib.IStream
    7. Dim optimalTransferSize As UInteger = 0
    8. Dim [property] = New _tagpropertykey()
    9. [property].fmtid = New Guid(&HE81E79BEUI, &H34F0, &H41BF, &HB5, &H3F, &HF1, _
    10. &HA0, &H6A, &HE8, &H78, &H42)
    11. [property].pid = 0
    12. resources.GetStream(file.Id, [property], 0, optimalTransferSize, wpdStream)
    13. Dim sourceStream As System.Runtime.InteropServices.ComTypes.IStream = DirectCast(wpdStream, System.Runtime.InteropServices.ComTypes.IStream)
    14. Dim filename = Path.GetFileName(file.Id)
    15. Dim targetStream As New FileStream(Path.Combine(saveToPath, filename), FileMode.Create, FileAccess.Write)
    16. Dim buffer = New Byte(1023) {}
    17. Dim bytesRead As Integer
    18. Do
    19. sourceStream.Read(buffer, 1024, New IntPtr(bytesRead))
    20. targetStream.Write(buffer, 0, 1024)
    21. Loop While bytesRead > 0
    22. targetStream.Close()
    23. End Sub



    Habe das von hier: cgeers.com/2011/08/13/wpd-transferring-content/ und dann in VB.NET übersetzt

    Danke schon einmal im Vorraus :)