/*++ 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 /************************************************************ * 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 ***************************/