L_InetFtpBrowseDir
#include "ltweb.h"
L_LTWEB_API L_INT L_InetFtpBrowseDir(hFtp, pszSearch, pfnCallback, pData)
HFTP hFtp; |
/* handle to an FTP connection */ |
L_TCHAR *pszSearch; |
/* directory path or file name */ |
FTPBROWSECALLBACK pfnCallback; |
/* pointer to a callback function */ |
L_VOID *pData; |
/* pointer to additional parameters */ |
Browses a specific directory or searches for a specific file on an FTP server's file system.
Parameter |
Description |
hFtp |
Valid HFTP handle to an FTP connection. |
pszSearch |
Character string that contains a valid directory path or file name for the FTP server's file system. The string can contain wildcards, but no blank spaces are allowed. If the value of pszSearch is NULL or if it is an empty string, it will find the first file in the current directory on the server. This is a NULL-terminated string. |
pfnCallback |
Optional callback function that will receive the data found during the browse/search. |
|
If you do not provide a callback function, use NULL as the value of this parameter. |
|
If you do provide a callback function, use the function pointer as the value of this parameter. |
|
The callback function must adhere to the function prototype described in the FTPBROWSECALLBACK Function. |
pData |
Void pointer that you can use to pass one or more additional parameters that the callback function needs. |
|
To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. |
|
If the additional parameters are not needed, you can pass NULL in this parameter. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Searches the specified directory of the given FTP connection. File and directory entries are returned to the application in the FILEDATA structure of the callback function.
Required DLLs and Libraries
LTWEB For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
See Also
Functions: |
|
Topics: |
FTP Functions: Directory Manipulation Over an FTP Connection |
|
Example
This example connects to an ftp server and browses a directory. If found it adds files to a list.
L_VOID AddFileToList(L_TCHAR * pszFileName,L_UINT32 uSize) { UNREFERENCED_PARAMETER(uSize); UNREFERENCED_PARAMETER(pszFileName); // Process file data here } L_INT CALLBACK BrowseDirCallBack(L_TCHAR * pszFile, pFILEDATA pFileData, L_VOID * pUserData) { UNREFERENCED_PARAMETER(pUserData); AddFileToList(pszFile, pFileData->uFileSize); return SUCCESS; } L_INT InetFtpBrowseDirExample(L_TCHAR * pszDirName, L_TCHAR * pszServerName, L_TCHAR * pszUserName, L_TCHAR * pszPassword) { HFTP hFtp; L_INT nRetCode = SUCCESS; L_INT iPort = 21; //Deafult ftp port nRetCode = L_InetFtpConnect(pszServerName, iPort, pszUserName, pszPassword, &hFtp); if(nRetCode==SUCCESS) { nRetCode = L_InetFtpBrowseDir(hFtp, pszDirName, (FTPBROWSECALLBACK) BrowseDirCallBack, NULL); if(nRetCode != SUCCESS) return nRetCode; } else return nRetCode; nRetCode = L_InetFtpDisConnect(hFtp); if(nRetCode != SUCCESS) return nRetCode; return nRetCode; }