windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/ftp/idl/ftpsvc.idl
2020-09-26 16:20:57 +08:00

127 lines
2.7 KiB
Plaintext

/*++
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 <lmcons.h>
//
// ---------------------------------------------------------------//
//
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
);
}