|
|
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
info.idl
Abstract:
Contains the Internet Information Services admin RPC spec. APIs associated with the common TCPSvcs dll. Also contains the RPC specific data structures for these API.
Author:
Madan Appiah (Madana) 10-Oct-1995
Environment:
User Mode - Win32 - MIDL
Revision History: MuraliK 12-Oct-1995 -- Tailored naming to suit conventions (Inet) MingLu 21-Nov-1999 -- Added APIs for optimized W3 performance counters
--*/
// // Interface Attributes //
[ uuid(82ad4280-036b-11cf-972c-00aa006887b0), version(2.0), #ifdef __midl ms_union, #endif // __midl pointer_default(unique) ]
// // Interface Keyword //
interface inetinfo
// // Interface Body //
{
import "imports.idl"; #include <lmcons.h>
// // ---------------------------------------------------------------// //
typedef [handle] LPWSTR INET_INFO_IMPERSONATE_HANDLE; typedef [handle] LPWSTR INET_INFO_IDENTIFY_HANDLE;
// // Common TCP Services APIs //
typedef struct _INET_INFO_CAPABILITIES_STRUCT {
DWORD CapVersion; // Version number of this structure DWORD ProductType; // Product type DWORD MajorVersion; // Major version number DWORD MinorVersion; // Minor Version number DWORD BuildNumber; // Build number DWORD NumCapFlags; // Number of capabilities structures
[size_is(NumCapFlags)] LPINET_INFO_CAP_FLAGS CapFlags;
} INET_INFO_CAPABILITIES_STRUCT, * LPINET_INFO_CAPABILITIES_STRUCT;
NET_API_STATUS NET_API_FUNCTION R_InetInfoGetVersion( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwReserved, [out] DWORD *pdwVersion );
NET_API_STATUS NET_API_FUNCTION R_InetInfoGetAdminInformation( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServerMask, [out] LPINET_INFO_CONFIG_INFO *ppConfig );
NET_API_STATUS NET_API_FUNCTION R_InetInfoGetSites( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServerMask, [out] LPINET_INFO_SITE_LIST * ppSites );
NET_API_STATUS NET_API_FUNCTION R_InetInfoSetAdminInformation( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServerMask, [in, ref] INET_INFO_CONFIG_INFO *pConfig );
NET_API_STATUS NET_API_FUNCTION R_InetInfoGetGlobalAdminInformation( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServerMask, [out] LPINET_INFO_GLOBAL_CONFIG_INFO *ppConfig );
NET_API_STATUS NET_API_FUNCTION R_InetInfoSetGlobalAdminInformation( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServerMask, [in, ref] INET_INFO_GLOBAL_CONFIG_INFO * pConfig );
typedef [switch_type(unsigned long)] union _INET_INFO_STATISTICS_INFO { [case(0)] LPINET_INFO_STATISTICS_0 InetStats0; [default] ; } INET_INFO_STATISTICS_INFO, *LPINET_INFO_STATISTICS_INFO;
NET_API_STATUS NET_API_FUNCTION R_InetInfoQueryStatistics( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD Level, [in] DWORD dwServerMask, [out, switch_is(Level)] LPINET_INFO_STATISTICS_INFO StatsInfo );
NET_API_STATUS NET_API_FUNCTION R_InetInfoClearStatistics( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServerMask );
NET_API_STATUS NET_API_FUNCTION R_InetInfoFlushMemoryCache( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServerMask );
NET_API_STATUS NET_API_FUNCTION R_InetInfoGetServerCapabilities( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwReserved, [out] LPINET_INFO_CAPABILITIES_STRUCT *ppCap );
// // IIS 4.0 //
typedef [switch_type(unsigned long)] union _W3_STATISTICS_UNION { [case(0)] LPW3_STATISTICS_1 StatInfo1; [default] ; } W3_STATISTICS_STRUCT, *LPW3_STATISTICS_STRUCT;
NET_API_STATUS NET_API_FUNCTION R_W3QueryStatistics2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [in] DWORD dwReserved, [out,switch_is(dwLevel)] LPW3_STATISTICS_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_W3ClearStatistics2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwInstance );
typedef [switch_type(unsigned long)] union _FTP_STATISTICS_UNION { [case(0)] LPFTP_STATISTICS_0 StatInfo0; [default] ; } FTP_STATISTICS_STRUCT, *LPFTP_STATISTICS_STRUCT;
NET_API_STATUS NET_API_FUNCTION R_FtpQueryStatistics2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [in] DWORD dwReserved, [out,switch_is(dwLevel)] LPFTP_STATISTICS_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_FtpClearStatistics2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwInstance );
// // User info //
typedef struct _IIS_USER_INFO_1_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] LPIIS_USER_INFO_1 Buffer; } IIS_USER_INFO_1_CONTAINER, *LPIIS_USER_INFO_1_CONTAINER;
typedef struct _IIS_USER_ENUM_STRUCT { DWORD Level; [switch_is(Level)] union _USER_ENUM_UNION { [case(1)] LPIIS_USER_INFO_1_CONTAINER Level1; [default] ; } ConfigInfo;
} IIS_USER_ENUM_STRUCT, *LPIIS_USER_ENUM_STRUCT;
NET_API_STATUS NET_API_FUNCTION R_IISEnumerateUsers( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServiceId, [in] DWORD dwInstance, [in,out] LPIIS_USER_ENUM_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_IISDisconnectUser( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServiceId, [in] DWORD dwInstance, [in] DWORD dwIdUser );
NET_API_STATUS NET_API_FUNCTION R_InitW3CounterStructure( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [out, ref] LPDWORD lpcbTotalRequired );
NET_API_STATUS NET_API_FUNCTION R_CollectW3PerfData( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in, string] LPWSTR lpValueName, [in, out, size_is(*lpcbTotalBytes)] LPBYTE lppData, [in, out, ref] LPDWORD lpcbTotalBytes, [out, ref] LPDWORD lpNumObjectTypes );
#if 0 // only used for K2 Alpha
typedef [switch_type(unsigned long)] union _INSTANCE_INFO_UNION { [case(1)] LPIIS_INSTANCE_INFO_1 ConfigInfo1; [case(2)] LPIIS_INSTANCE_INFO_2 ConfigInfo2; [default] ; } INSTANCE_INFO_STRUCT, *LPINSTANCE_INFO_STRUCT;
// // User info //
typedef struct _IIS_USER_INFO_1_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] LPIIS_USER_INFO_1 Buffer; } IIS_USER_INFO_1_CONTAINER, *LPIIS_USER_INFO_1_CONTAINER;
typedef struct _IIS_USER_ENUM_STRUCT { DWORD Level; [switch_is(Level)] union _USER_ENUM_UNION { [case(1)] LPIIS_USER_INFO_1_CONTAINER Level1; [default] ; } ConfigInfo;
} IIS_USER_ENUM_STRUCT, *LPIIS_USER_ENUM_STRUCT;
// // // Common APIs //
NET_API_STATUS NET_API_FUNCTION R_IISGetAdminInformation( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwServiceId, [in] DWORD dwInstance, [out,switch_is(dwLevel)] LPINSTANCE_INFO_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_IISSetAdminInformation( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwServiceId, [in] DWORD dwInstance, [in, switch_is(dwLevel)] LPINSTANCE_INFO_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_IISEnumerateUsers( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServiceId, [in] DWORD dwInstance, [in,out] LPIIS_USER_ENUM_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_IISDisconnectUser( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwServiceId, [in] DWORD dwInstance, [in] DWORD dwIdUser );
// // W3 //
typedef [switch_type(unsigned long)] union _W3_CONFIG_INFO_UNION { [case(1)] LPW3_CONFIG_INFO_1 ConfigInfo1; [default] ; } W3_CONFIG_INFO_STRUCT, *LPW3_CONFIG_INFO_STRUCT;
NET_API_STATUS NET_API_FUNCTION R_W3GetAdminInformation2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [out,switch_is(dwLevel)] LPW3_CONFIG_INFO_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_W3SetAdminInformation2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [in, switch_is(dwLevel)] LPW3_CONFIG_INFO_STRUCT InfoStruct );
// // FTP //
typedef [switch_type(unsigned long)] union _FTP_CONFIG_INFO_UNION { [case(1)] LPFTP_CONFIG_INFO_1 ConfigInfo1; [default] ; } FTP_CONFIG_INFO_STRUCT, *LPFTP_CONFIG_INFO_STRUCT;
NET_API_STATUS NET_API_FUNCTION R_FtpGetAdminInformation2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [out,switch_is(dwLevel)] LPFTP_CONFIG_INFO_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_FtpSetAdminInformation2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [in, switch_is(dwLevel)] LPFTP_CONFIG_INFO_STRUCT InfoStruct );
// // Gopher //
typedef [switch_type(unsigned long)] union _GOPHERD_CONFIG_INFO_UNION { [case(1)] LPGOPHERD_CONFIG_INFO_1 ConfigInfo1; [default] ; } GOPHERD_CONFIG_INFO_STRUCT, *LPGOPHERD_CONFIG_INFO_STRUCT;
typedef [switch_type(unsigned long)] union _GOPHERD_STATISTICS_UNION { [case(0)] LPGOPHERD_STATISTICS_0 StatInfo0; [default] ; } GOPHERD_STATISTICS_STRUCT, *LPGOPHERD_STATISTICS_STRUCT;
NET_API_STATUS NET_API_FUNCTION R_GdGetAdminInformation2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [out,switch_is(dwLevel)] LPGOPHERD_CONFIG_INFO_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_GdSetAdminInformation2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [in, switch_is(dwLevel)] LPGOPHERD_CONFIG_INFO_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_GdQueryStatistics2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwLevel, [in] DWORD dwInstance, [in] DWORD dwReserved, [out,switch_is(dwLevel)] LPGOPHERD_STATISTICS_STRUCT InfoStruct );
NET_API_STATUS NET_API_FUNCTION R_GdClearStatistics2( [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer, [in] DWORD dwInstance );
#endif //0 }
|