Registriert eine Callback-Funktion, die von den WinINet-Funktionen aufgerufen werden kann, wenn ein Fortschritt während der Abarbeitung erfolgt.
#Include <FTPEx.au3>
_FTP_SetStatusCallback ( $l_InternetSession, $sFunctionName)
Parameter
| $l_InternetSession | Rückgabe von _FTP_Connect(). |
| $sFunctionName | Name der aufzurufenden benutzerdefinierten Funktion. |
Rückgabewert
| Erfolg: | Zeiger zur Callback-Funktion |
| Fehler: | 0 und setzt @error auf nicht-Null |
Bemerkungen
Die Callback-Funktion wird mit folgenden Parametern aufgerufen (siehe InternetStatusCallback Windows API):
Verwandte Funktionen
_FTP_Open, _FTP_FileOpen, _FTP_Command, _FTP_Connect, _FTP_DirPutContents, _FTP_FileGet, _FTP_FilePut, _FTP_FindFileFirst, _FTP_ListToArray, _FTP_ListToArray2D, _FTP_ListToArrayEx, _FTP_DecodeInternetStatus
Siehe auch
Suche in der MSDN Bibliothek nach InternetSetStatusCallback
Beispiel
#include <FTPEx.au3>
#include <Debug.au3>
_DebugSetup( StringTrimRight(@ScriptName,4) &' Beispiel', True)
$server = 'ftp.mozilla.org'
$username = ''
$pass = ''
$Open = _FTP_Open('MeinFTP Control')
$Callback = _FTP_SetStatusCallback($Open, 'FTPStatusCallbackHandler')
$Conn = _FTP_Connect($Open, $server, $username, $pass, 0, $INTERNET_DEFAULT_FTP_PORT, $INTERNET_SERVICE_FTP, 0, $Callback)
$Ftpc = _FTP_Close($Open)
Func FTPStatusCallbackHandler($hInternet, $dwContent, $dwInternetStatus, $lpvStatusInformation, $dwStatusInformationLength)
If $dwInternetStatus = $INTERNET_STATUS_REQUEST_SENT Or $dwInternetStatus = $INTERNET_STATUS_RESPONSE_RECEIVED Then
Local $Size, $iBytesRead
$Size = DllStructCreate('dword')
_WinAPI_ReadProcessMemory(_WinAPI_GetCurrentProcess(), $lpvStatusInformation, DllStructGetPtr($Size), $dwStatusInformationLength, $iBytesRead)
_DebugOut(_FTP_DecodeInternetStatus($dwInternetStatus) & ' | Größe = ' & DllStructGetData($Size, 1) & ' Bytes Bytes gelesen = ' & $iBytesRead )
Else
_DebugOut(_FTP_DecodeInternetStatus($dwInternetStatus) )
EndIf
EndFunc ;==>_InternetStatusCallback