/*++ Copyright (c) 1990 Microsoft Corporation Module Name: ftpsvc.idl Abstract: Contains the I_Ftp (ftpsvc Remote) RPC interface specification for the APIs associated with the FTP Daemon service. Also contains the RPC specific data structures for these API. Author: Dan Hinsley (DanHi) 23-Mar-1993 Environment: User Mode - Win32 - MIDL Revision History: MuraliK 20-Sept-1995 Updated structures used in RPC. --*/ // // Interface Attributes // [ uuid(5C89F409-09CC-101A-89F3-02608C4D2361), version(1.1), #ifdef __midl ms_union, #endif // __midl pointer_default(unique) ] // // Interface Keyword // interface ftpsvc // // Interface Body // { import "infoimp.idl"; #include // // ---------------------------------------------------------------// // typedef [handle] LPWSTR FTP_IMPERSONATE_HANDLE; typedef [handle] LPWSTR FTP_IDENTIFY_HANDLE; // // Ftp Daemon APIs // typedef struct _FTP_USER_ENUM_STRUCT { DWORD EntriesRead; [size_is(EntriesRead)] LPFTP_USER_INFO Buffer; } FTP_USER_ENUM_STRUCT, *LPFTP_USER_ENUM_STRUCT; NET_API_STATUS I_FtprEnumerateUsers( [in, string, unique] FTP_IMPERSONATE_HANDLE pszServer, [out] LPFTP_USER_ENUM_STRUCT Buffer ); NET_API_STATUS I_FtprDisconnectUser( [in,string,unique] FTP_IMPERSONATE_HANDLE pszServer, [in] DWORD idUser ); NET_API_STATUS I_FtprQueryVolumeSecurity( [in, string, unique] FTP_IMPERSONATE_HANDLE pszServer, [out] LPDWORD lpdwReadAccess, [out] LPDWORD lpdwWriteAccess ); NET_API_STATUS I_FtprSetVolumeSecurity( [in, string, unique] FTP_IMPERSONATE_HANDLE pszServer, [in] DWORD dwReadAccess, [in] DWORD dwWriteAccess ); typedef [switch_type(unsigned long)] union _STATISTICS_INFO { [case(0)] LPFTP_STATISTICS_0 FtpStats0; [default] ; } STATISTICS_INFO, * LPSTATISTICS_INFO; NET_API_STATUS I_FtprQueryStatistics( [in, string, unique] FTP_IMPERSONATE_HANDLE pszServer, [in] DWORD Level, [out, switch_is(Level)] LPSTATISTICS_INFO StatsInfo ); NET_API_STATUS I_FtprClearStatistics( [in, string, unique] FTP_IMPERSONATE_HANDLE pszServer ); NET_API_STATUS NET_API_FUNCTION FtprGetAdminInformation( [in, string, unique] FTP_IMPERSONATE_HANDLE pszServer, [out] LPFTP_CONFIG_INFO * ppConfig ); NET_API_STATUS NET_API_FUNCTION FtprSetAdminInformation( [in, string, unique] FTP_IMPERSONATE_HANDLE pszServer, [in] LPFTP_CONFIG_INFO pConfig ); }