Aktuelle Zeit: 10.08.2020 21:17

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: PB.Ex MTP (Windows)
BeitragVerfasst: 13.05.2019 20:37 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Hallo,

mit dieser Bibliothek kann man auf Smartpones, Tablets, Kameras und andere mobile Geräte, die das Protokoll MTP (Media Transfer Protocol) unterstützen, zugreifen und Geräteinformationen (Device-ID, Gerätename, Firmware-Version, Hersteller, Seriennummer, ...) und die auf dem Gerät vorhandenen Verzeichnisse und Dateien auslesen und auf den PC kopieren.
Getestet habe ich mit meinem iPhone und mit meiner Digitalkamera von Canon.

Funktionen:
    ExamineMTP()
    • Syntax:
      Code:
      Result = ExamineMTP(@ErrorOutput$)

    • Beschreibung: Startet die Auflistung aller Geräte. Das können Smartphones, Tablets, Kameras, Massenspeicher und andere mobile Geräte sein.
    • Parameter:
      1. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    NextMTPEntry()
    • Syntax:
      Code:
      Result = NextMTPEntry(@ErrorOutput$)

    • Beschreibung: Das nächste Gerät wird ermittelt. Diese Funktion ist nur innerhalb der ExamineMTP-Schleife gültig.
    • Parameter:
      1. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    FinishMTP()
    • Syntax:
      Code:
      Result = FinishMTP(@ErrorOutput$)

    • Beschreibung: Schließt die Auflistung der Geräte. Diese Funktion ist nur innerhalb der ExamineMTP-Schleife gültig.
    • Parameter:
      1. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    MTPEntryName()
    • Syntax:
      Code:
      Result = MTPEntryName(@Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt den Namen des aktuellen Geräts. Diese Funktion ist nur innerhalb der ExamineMTP-Schleife gültig.
    • Parameter:
      1. @Output$: Der Gerätename wird in diese Variable gespeichert. Mit diesem Namen ist es möglich, mit OpenMTP() auf dieses Gerät zuzugreifen, um Geräteinformationen auszulesen und Dateien zu kopieren.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    OpenMTP()
    • Syntax:
      Code:
      Result = OpenMTP(ID, DeviceName$, @ErrorOutput$)

    • Beschreibung: Stellt eine Verbindung zum angegebenen Gerät her, um Geräteinformationen auszulesen und Dateien zu kopieren.
    • Parameter:
      1. ID: Eine eindeutige Nummer. #PB_Any kann verwendet werden, um die Nummer automatisch zu generieren.
      2. DeviceName$: Der Name des Gerätes. Der Gerätename kann mit ExamineMTP() ermittelt werden.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich. Falls #PB_Any verwendet wird, dann wird die ID zurückgegeben.
    • Beispielcode:
      Code:
      EnableExplicit

      Global PBEx_MTP

      #PBEx_MTP_Type_File = 1
      #PBEx_MTP_Type_Directory = 2
      #PBEx_MTP_DeviceType_Generic = 0
      #PBEx_MTP_DeviceType_Camera = 1
      #PBEx_MTP_DeviceType_MediaPlayer = 2
      #PBEx_MTP_DeviceType_Phone = 3
      #PBEx_MTP_DeviceType_Video = 4
      #PBEx_MTP_DeviceType_PersonalInformationManager = 5
      #PBEx_MTP_DeviceType_AudioRecorder = 6

      CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
        PBEx_MTP = OpenLibrary(#PB_Any, "PB.Ex_MTP_x86.dll")
      CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64
        PBEx_MTP = OpenLibrary(#PB_Any, "PB.Ex_MTP_x64.dll")
      CompilerEndIf

      If PBEx_MTP
        Prototype ExamineMTP(ErrorOutput)
        Global ExamineMTP.ExamineMTP = GetFunction(PBEx_MTP, "ExamineMTP")
        Prototype NextMTPEntry(ErrorOutput)
        Global NextMTPEntry.NextMTPEntry = GetFunction(PBEx_MTP, "NextMTPEntry")
        Prototype FinishMTP(ErrorOutput)
        Global FinishMTP.FinishMTP = GetFunction(PBEx_MTP, "FinishMTP")
        Prototype MTPEntryName(Output, ErrorOutput)
        Global MTPEntryName.MTPEntryName = GetFunction(PBEx_MTP, "MTPEntryName")
        Prototype OpenMTP(ID, DeviceName.p-Unicode, ErrorOutput)
        Global OpenMTP.OpenMTP = GetFunction(PBEx_MTP, "OpenMTP")
        Prototype CloseMTP(ID, ErrorOutput)
        Global CloseMTP.CloseMTP = GetFunction(PBEx_MTP, "CloseMTP")
        Prototype IsMTP(ID, ErrorOutput)
        Global IsMTP.IsMTP = GetFunction(PBEx_MTP, "IsMTP")
        Prototype ExamineMTPDirectory(ID, ErrorOutput)
        Global ExamineMTPDirectory.ExamineMTPDirectory = GetFunction(PBEx_MTP, "ExamineMTPDirectory")
        Prototype FinishMTPDirectory(ID, ErrorOutput)
        Global FinishMTPDirectory.FinishMTPDirectory = GetFunction(PBEx_MTP, "FinishMTPDirectory")
        Prototype NextMTPDirectoryEntry(ID, ErrorOutput)
        Global NextMTPDirectoryEntry.NextMTPDirectoryEntry = GetFunction(PBEx_MTP, "NextMTPDirectoryEntry")
        Prototype MTPDirectoryEntryName(ID, Output, ErrorOutput)
        Global MTPDirectoryEntryName.MTPDirectoryEntryName = GetFunction(PBEx_MTP, "MTPDirectoryEntryName")
        Prototype SetMTPDirectory(ID, DirectoryPath.p-Unicode, ErrorOutput)
        Global SetMTPDirectory.SetMTPDirectory = GetFunction(PBEx_MTP, "SetMTPDirectory")
        Prototype GetMTPDirectory(ID, Output, ErrorOutput)
        Global GetMTPDirectory.GetMTPDirectory = GetFunction(PBEx_MTP, "GetMTPDirectory")
        Prototype MTPDirectoryEntryType(ID, ErrorOutput)
        Global MTPDirectoryEntryType.MTPDirectoryEntryType = GetFunction(PBEx_MTP, "MTPDirectoryEntryType")
        Prototype ReceiveMTPFile(ID, RemoteFileName.p-Unicode, FileName.p-Unicode, ErrorOutput)
        Global ReceiveMTPFile.ReceiveMTPFile = GetFunction(PBEx_MTP, "ReceiveMTPFile")
        Prototype MTPDirectoryEntrySize(ID, ErrorOutput)
        Global MTPDirectoryEntrySize.MTPDirectoryEntrySize = GetFunction(PBEx_MTP, "MTPDirectoryEntrySize")
        Prototype MTPDirectoryEntryDate(ID, ErrorOutput)
        Global MTPDirectoryEntryDate.MTPDirectoryEntryDate = GetFunction(PBEx_MTP, "MTPDirectoryEntryDate")
        Prototype GetMTPDescription(ID, Output, ErrorOutput)
        Global GetMTPDescription.GetMTPDescription = GetFunction(PBEx_MTP, "GetMTPDescription")
        Prototype GetMTPDeviceID(ID, Output, ErrorOutput)
        Global GetMTPDeviceID.GetMTPDeviceID = GetFunction(PBEx_MTP, "GetMTPDeviceID")
        Prototype GetMTPDeviceType(ID, ErrorOutput)
        Global GetMTPDeviceType.GetMTPDeviceType = GetFunction(PBEx_MTP, "GetMTPDeviceType")
        Prototype GetMTPFirmwareVersion(ID, Output, ErrorOutput)
        Global GetMTPFirmwareVersion.GetMTPFirmwareVersion = GetFunction(PBEx_MTP, "GetMTPFirmwareVersion")
        Prototype GetMTPFriendlyName(ID, Output, ErrorOutput)
        Global GetMTPFriendlyName.GetMTPFriendlyName = GetFunction(PBEx_MTP, "GetMTPFriendlyName")
        Prototype GetMTPManufacturer(ID, Output, ErrorOutput)
        Global GetMTPManufacturer.GetMTPManufacturer = GetFunction(PBEx_MTP, "GetMTPManufacturer")
        Prototype GetMTPModel(ID, Output, ErrorOutput)
        Global GetMTPModel.GetMTPModel = GetFunction(PBEx_MTP, "GetMTPModel")
        Prototype GetMTPPnPDeviceID(ID, Output, ErrorOutput)
        Global GetMTPPnPDeviceID.GetMTPPnPDeviceID = GetFunction(PBEx_MTP, "GetMTPPnPDeviceID")
        Prototype GetMTPSerialNumber(ID, Output, ErrorOutput)
        Global GetMTPSerialNumber.GetMTPSerialNumber = GetFunction(PBEx_MTP, "GetMTPSerialNumber")
       
      EndIf

      Global Output$ = Space(1024)
      Global ErrorOutput$ = Space(128)

      ;List all devices to determine the device name.
      ; If ExamineMTP(@ErrorOutput$)
      ;   While NextMTPEntry(@ErrorOutput$)
      ;     MTPEntryName(@Output$, @ErrorOutput$)
      ;     Debug Output$
      ;   Wend
      ; EndIf

      ;List all directories and files.
      ;If OpenMTP(1, "Canon IXUS 125 HS", @ErrorOutput$)
      If OpenMTP(1, "Apple iPhone", @ErrorOutput$)
       
        ;Get device information
        GetMTPFriendlyName(1, @Output$, @ErrorOutput$)
        Debug "Friendly name: " + Output$
        GetMTPManufacturer(1, @Output$, @ErrorOutput$)
        Debug "Manufacturer: " + Output$
        GetMTPFirmwareVersion(1, @Output$, @ErrorOutput$)
        Debug "Firmware version: " + Output$
        GetMTPPnPDeviceID(1, @Output$, @ErrorOutput$)
        Debug "PnPDeviceID: " + Output$
       
        Debug "--------------------------------------------------"
       
        ;SetMTPDirectory(1, "\Internal Storage\DCIM\100APPLE", @ErrorOutput$)
        If ExamineMTPDirectory(1, @ErrorOutput$)
          While NextMTPDirectoryEntry(1, @ErrorOutput$)
            MTPDirectoryEntryName(1, @Output$, @ErrorOutput$)
            If MTPDirectoryEntryType(1, @ErrorOutput$) = #PBEx_MTP_Type_Directory
              Debug "Folder: " + Output$
            ElseIf  MTPDirectoryEntryType(1, @ErrorOutput$) = #PBEx_MTP_Type_File
              Debug "File: " + Output$
              Debug Str(MTPDirectoryEntrySize(1, @ErrorOutput$)) + " Bytes"
              Debug FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", MTPDirectoryEntryDate(1, @ErrorOutput$))
             
            EndIf
           
          Wend
        EndIf
       
        CloseMTP(1, @ErrorOutput$)
      Else
        Debug ErrorOutput$
      EndIf

      CloseLibrary(PBEx_MTP)

    CloseMTP()
    • Syntax:
      Code:
      Result = CloseMTP(ID, @ErrorOutput$)

    • Beschreibung: Schließt die Verbindung zum Gerät.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    IsMTP()
    • Syntax:
      Code:
      Result = IsMTP(ID, @ErrorOutput$)

    • Beschreibung: Überprüft, ob die Verbindung noch gültig ist.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: ID ist gültig.
    ExamineMTPDirectory()
    • Syntax:
      Code:
      Result = ExamineMTPDirectory(ID, @ErrorOutput$)

    • Beschreibung: Startet die Auflistung aller Verzeichnisse und Dateien.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    FinishMTPDirectory()
    • Syntax:
      Code:
      Result = FinishMTPDirectory(ID, @ErrorOutput$)

    • Beschreibung: Schließt die Auflistung der Verzeichnisse und Dateien. Diese Funktion ist nur innerhalb der ExamineMTPDirectory-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    NextMTPDirectoryEntry()
    • Syntax:
      Code:
      Result = NextMTPDirectoryEntry(ID, @ErrorOutput$)

    • Beschreibung: Das nächste Verzeichnis oder die nächste Datei wird ermittelt. Diese Funktion ist nur innerhalb der ExamineMTPDirectory-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    MTPDirectoryEntryName()
    • Syntax:
      Code:
      Result = MTPDirectoryEntryName(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Der Name des Verzeichnisses oder der Datei wird ermittelt. Diese Funktion ist nur innerhalb der ExamineMTPDirectory-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Der Name des Verzeichnisses oder der Datei wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    SetMTPDirectory()
    • Syntax:
      Code:
      Result = SetMTPDirectory(ID, DirectoryPath$, @ErrorOutput$)

    • Beschreibung: Ändert mit Hilfe des Pfades das aktuelle Verzeichnis. Wenn leer, dann wird das Stammverzeichnis ausgewählt.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. DirectoryPath$: Pfad zum Verzeichnis.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPDirectory()
    • Syntax:
      Code:
      Result = GetMTPDirectory(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt das aktuelle Verzeichnis.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Der Pfad des aktuellen Verzeichnisses wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    MTPDirectoryEntryType()
    • Syntax:
      Code:
      Result = MTPDirectoryEntryType(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt den Typ des aktuellen Eintrages. Diese Funktion ist nur innerhalb der ExamineMTPDirectory-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert: Folgende Konstanten können abgefragt werden:
      • #PBEx_MTP_Type_File: Der Eintrag ist eine Datei.
      • #PBEx_MTP_Type_Directory: Der Eintrag ist ein Verzeichnis.
    ReceiveMTPFile()
    • Syntax:
      Code:
      Result = ReceiveMTPFile(ID, RemoteFileName$, FileName$, @ErrorOutput$)

    • Beschreibung: Kopiert mit Hilfe des Pfades die angegebene Datei auf die Festplatte.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. RemoteFileName$: Vollständiger Pfad inkl. Dateiname von der Datei, die kopiert werden soll.
      3. FileName$: Vollständiger Zielpfad inkl. Dateiname, wohin die Datei kopiert werden soll.
      4. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    MTPDirectoryEntrySize()
    • Syntax:
      Code:
      Result = MTPDirectoryEntrySize(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt die Dateigröße. Diese Funktion ist nur innerhalb der ExamineMTPDirectory-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert: Die Größe der Datei in Bytes.
    MTPDirectoryEntryDate()
    • Syntax:
      Code:
      Result = MTPDirectoryEntryDate(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt das Erstelldatum der Datei. Diese Funktion ist nur innerhalb der ExamineMTPDirectory-Schleife gültig.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert: Wert des Erstelldatums. Der Wert kann mit der Date-Bibliothek verwendet werden.
    GetMTPDescription()
    • Syntax:
      Code:
      Result = GetMTPDescription(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt die Gerätebeschreibung.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Die Gerätebeschreibung wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPDeviceID()
    • Syntax:
      Code:
      Result = GetMTPDeviceID(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt die Geräte-ID.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Die Geräte-ID wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPDeviceType()
    • Syntax:
      Code:
      Result = GetMTPDeviceType(ID, @ErrorOutput$)

    • Beschreibung: Ermittelt den Typ des Geräts.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert: Folgende Konstanten können abgefragt werden:
      • #PBEx_MTP_DeviceType_Generic
      • #PBEx_MTP_DeviceType_Camera
      • #PBEx_MTP_DeviceType_MediaPlayer
      • #PBEx_MTP_DeviceType_Phone
      • #PBEx_MTP_DeviceType_Video
      • #PBEx_MTP_DeviceType_PersonalInformationManager
      • #PBEx_MTP_DeviceType_AudioRecorder
    GetMTPFirmwareVersion()
    • Syntax:
      Code:
      Result = GetMTPFirmwareVersion(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt die Firmware-Version.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Die Firmware-Version wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPFriendlyName()
    • Syntax:
      Code:
      Result = GetMTPFriendlyName(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt die Gerätebezeichnung.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Die Gerätebezeichnung wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPManufacturer()
    • Syntax:
      Code:
      Result = GetMTPManufacturer(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt den Hersteller.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Der Hersteller wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPModel()
    • Syntax:
      Code:
      Result = GetMTPModel(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt den Modelnamen.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Der Modelname wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPPnPDeviceID()
    • Syntax:
      Code:
      Result = GetMTPPnPDeviceID(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt die PnP-Geräte-ID. (Plug and Play)
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Die PnP-Geräte-ID wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
    GetMTPSerialNumber()
    • Syntax:
      Code:
      Result = GetMTPSerialNumber(ID, @Output$, @ErrorOutput$)

    • Beschreibung: Ermittelt die Seriennummer.
    • Parameter:
      1. ID: Die Nummer Verbindung.
      2. @Output$: Die Seriennummer wird in diese Variable gespeichert.
      3. @ErrorOutput$: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.

Systemvoraussetzungen:
  • Windows Vista oder höher
  • .NET Framework 4.5 oder höher
  • Unicode-Aktivierung (standardmäßig ab PB 5.50)

Lizenz: Diese DLL-Datei ist kostenlos und darf sowohl privat als auch kommerziell verwendet werden.
Diese Bibliothek basiert auf: https://github.com/Bassman2/MediaDevices

Download: http://www.rsbasic.de/downloads/downloa ... Ex_MTP.zip
Bild

Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Wer mich unterstützen möchte, kann mir auch was kleines spenden. Danke :)

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex MTP (Windows)
BeitragVerfasst: 15.05.2019 14:32 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
PB.Ex MTP 1.0.1.0 wurde veröffentlicht.

Changelog:
  • Bugfix

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex MTP (Windows)
BeitragVerfasst: 05.06.2019 20:08 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
PB.Ex MTP 1.0.2.0 wurde veröffentlicht.

Changelog:
  • Hinzugefügt: CreateMTPDirectory()

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PB.Ex MTP (Windows)
BeitragVerfasst: 06.06.2019 12:59 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
PB.Ex MTP 1.0.3.0 wurde veröffentlicht.

Changelog:
  • Hinzugefügt: DeleteMTPDirectory()
  • Hinzugefügt: DeleteMTPFile()

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye