|
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
msgsvc.idl
Abstract:
This is the IDL file that describes the RPC interface for the remotable NetMessage API that reside in the messenger service. NOTE: NetMessageBufferSend is in the workstation interface.
Author:
Dan Lafferty (danl) 28-May-1991
Environment:
User Mode -Win32
Revision History:
28-May-1991 danl Created
--*/
// // Interface Attributes //
[ uuid(17FDD703-1827-4E34-79D4-24A55C53BB37), version(1.0), #ifdef __midl ms_union, #endif // __midl pointer_default(unique) ]
// // Interface Keyword //
interface msgsvc
// // Interface Body //
{
import "imports.idl"; #include <lmcons.h>
// // Define handle types //
typedef [handle] LPWSTR MSGSVC_HANDLE;
// // Data Structures Used for Enumeration //
typedef struct _MSG_INFO_0_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] LPMSG_INFO_0 Buffer; } MSG_INFO_0_CONTAINER, *PMSG_INFO_0_CONTAINER, *LPMSG_INFO_0_CONTAINER;
typedef struct _MSG_INFO_1_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] LPMSG_INFO_1 Buffer; } MSG_INFO_1_CONTAINER, *PMSG_INFO_1_CONTAINER, *LPMSG_INFO_1_CONTAINER;
typedef struct _MSG_ENUM_STRUCT { DWORD Level; [switch_is(Level)] union _MSG_ENUM_UNION { [case(0)] LPMSG_INFO_0_CONTAINER Level0; [case(1)] LPMSG_INFO_1_CONTAINER Level1; } MsgInfo; } MSG_ENUM_STRUCT, *PMSG_ENUM_STRUCT, *LPMSG_ENUM_STRUCT;
// // Data Structures Used for GetInfo // (this would also be used for SetInfo if there was one.) //
typedef [switch_type(DWORD)] union _MSG_INFO { [case(0)] LPMSG_INFO_0 MsgInfo0; [case(1)] LPMSG_INFO_1 MsgInfo1; } MSG_INFO, *PMSG_INFO, *LPMSG_INFO;
// // Function Prototypes //
NET_API_STATUS NET_API_FUNCTION NetrMessageNameAdd ( [in,string,unique] MSGSVC_HANDLE ServerName, [in,string] LPWSTR MsgName );
NET_API_STATUS NET_API_FUNCTION NetrMessageNameEnum ( [in,string,unique] MSGSVC_HANDLE ServerName, [in,out] LPMSG_ENUM_STRUCT InfoStruct, [in] DWORD PrefMaxLen, [out] LPDWORD TotalEntries, [in,out,unique] LPDWORD ResumeHandle );
NET_API_STATUS NET_API_FUNCTION NetrMessageNameGetInfo ( [in,string,unique] MSGSVC_HANDLE ServerName, [in,string] LPWSTR MsgName, [in] DWORD Level, [out, switch_is(Level)] LPMSG_INFO InfoStruct );
NET_API_STATUS NET_API_FUNCTION NetrMessageNameDel ( [in,string,unique] MSGSVC_HANDLE ServerName, [in,string] LPWSTR MsgName );
}
|