135 lines
2.7 KiB
Plaintext
135 lines
2.7 KiB
Plaintext
|
/*++
|
||
|
|
||
|
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
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|