You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
470 lines
11 KiB
470 lines
11 KiB
/*++
|
|
|
|
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
|
|
}
|
|
|
|
|