472 lines
11 KiB
Plaintext
472 lines
11 KiB
Plaintext
/*++
|
||
|
||
Copyright (c) 1990 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
knfo.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)
|
||
|
||
--*/
|
||
|
||
//
|
||
// Interface Attributes
|
||
//
|
||
|
||
[
|
||
uuid(97f83d5c-1994-11d1-a90d-00c04fb960f8),
|
||
version(2.0),
|
||
#ifdef __midl
|
||
ms_union,
|
||
#endif // __midl
|
||
pointer_default(unique)
|
||
]
|
||
|
||
|
||
//
|
||
// Interface Keyword
|
||
//
|
||
|
||
interface knetinfo
|
||
|
||
|
||
//
|
||
// 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;
|
||
|
||
// WinSE 5571
|
||
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
|
||
);
|
||
|
||
|
||
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
|
||
);
|
||
|
||
#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
|
||
}
|
||
|
||
|
||
|