Function Reference

_FTP_SetStatusCallback

WinINet関数が進行状況に応じて呼ぶ事のできる処理中に作成されるコールバック関数を登録します。

#Include <FTPEx.au3>
_FTP_SetStatusCallback ( $l_InternetSession, $sFunctionName)

 

パラメータ

$l_InternetSession _FTP_Open()の返し値
$sFunctionName 呼ばれるユーザー定義関数の名前

 

返し値

成功: コールバック関数へのポインタ
失敗: 0を返し、@errorに非ゼロを設定します。

 

注意

コールバック関数は以下のパラメータと共に呼ばれます(WindowsAPIのInternetStatusCallbackを参照して下さい):
$hInternet, $dwContent, $dwInternetStatus, $lpvStatusInformation, $dwStatusInformationLength

 

関連

_FTP_Open, _FTP_FileOpen, _FTP_Command, _FTP_Connect, _FTP_DirPutContents, _FTP_FileGet, _FTP_FilePut, _FTP_FindFileFirst, _FTP_ListToArray, _FTP_ListToArray2D, _FTP_ListToArrayEx, _FTP_DecodeInternetStatus

 

こちらも参照

MSDNライブラリでInternetSetStatusCallbackを検索して下さい。

 


#include <FTPEx.au3>
#include <Debug.au3>

_DebugSetup( StringTrimRight(@ScriptName,4) &' example', True)

$server = 'ftp.mozilla.org'
$username = ''
$pass = ''

$Open = _FTP_Open('MyFTP 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) & ' | Size = ' & DllStructGetData($Size, 1) & ' Bytes    Bytes read = ' & $iBytesRead  )
    Else
        _DebugOut(_FTP_DecodeInternetStatus($dwInternetStatus) )
    EndIf
EndFunc   ;==>_InternetStatusCallback