windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/gopher/gd.idl

133 lines
2.7 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1994 Microsoft Corp.
Module:
gd.idl
Abstract:
IDL file for Gopher server.
Declares the Gopher Server RPC APIs.
It also declares the types required for the RPC interface.
Author:
Murali R. Krishnan ( MuraliK) 11-Nov-1994
History:
MuraliK 17-Feb-1995 Integrated with inetasrv.h
--*/
/*
Unique user ID for RPC interface ( generated using uuidgen)
*/
[
uuid(04fcb220-fcfd-11cd-bec8-00aa0047ae4e),
version(1.0),
pointer_default( unique)
]
//
// the interface keyword
//
interface gopherd
//
// Definitions of Interface functions which are RPCable
//
{
//
// include the pre-defined constants and types required
//
import "infoimp.idl";
# include <lmcons.h>
/************************************************************
* Type Definitions
************************************************************/
typedef [handle] LPWSTR GOPHERD_IMPERSONATE_HANDLE;
typedef struct _GOPHERD_USER_ENUM_STRUCT {
//
// Represents a flex array of items returned
//
DWORD dwEntriesRead;
[size_is( dwEntriesRead)] LPGOPHERD_USER_INFO lpUsers;
} GOPHERD_USER_ENUM_STRUCT, * LPGOPHERD_USER_ENUM_STRUCT;
/************************************************************
* Function Prototypes
************************************************************/
//
// Admin API
//
//
// in, out is required for lpbInfo, otherwise unique can't be used to pass
// NULL pointer
//
DWORD
NET_API_FUNCTION
R_GdGetAdminInformation(
[ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
[ out] LPGOPHERD_CONFIG_INFO * ppConfigInfo
);
DWORD
NET_API_FUNCTION
R_GdSetAdminInformation(
[ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
[ in, ref] LPGOPHERD_CONFIG_INFO pConfigInfo
);
//
// User enumeration
//
DWORD
NET_API_FUNCTION
R_GdEnumerateUsers(
[ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
[ out] LPGOPHERD_USER_ENUM_STRUCT lpUserBuffer
);
DWORD
NET_API_FUNCTION
R_GdDisconnectUser(
[ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
[ in] DWORD idUser
);
//
// Information about statistics
//
DWORD
NET_API_FUNCTION
R_GdGetStatistics(
[ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
[ out] LPGOPHERD_STATISTICS_INFO lpStat
);
DWORD
NET_API_FUNCTION
R_GdClearStatistics(
[ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer
);
}
/********************* End of File ***************************/