1268 lines
34 KiB
Plaintext
1268 lines
34 KiB
Plaintext
//+---------------------------------------------------------------------------
|
||
//
|
||
// Copyright 1995 - 1997 Microsoft Corporation. All Rights Reserved.
|
||
//
|
||
// Contents: Conferencing Services Object interfaces
|
||
//
|
||
//----------------------------------------------------------------------------
|
||
|
||
cpp_quote("//+-------------------------------------------------------------------------")
|
||
cpp_quote("//")
|
||
cpp_quote("// Microsoft Windows")
|
||
cpp_quote("// Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.")
|
||
cpp_quote("//")
|
||
cpp_quote("// File: imsconf3.h")
|
||
cpp_quote("//")
|
||
cpp_quote("//--------------------------------------------------------------------------")
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////
|
||
// GUID usage:
|
||
//
|
||
// {068B0700-718C-11d0-8B1A-00A0C91BC90E} - {068B08FF-718C-11d0-8B1A-00A0C91BC90E}
|
||
//
|
||
|
||
import "objidl.idl";
|
||
import "oleidl.idl";
|
||
import "oaidl.idl";
|
||
|
||
interface INmManager;
|
||
interface INmManagerNotify;
|
||
interface INmSysInfo;
|
||
interface INmMember;
|
||
interface INmCall;
|
||
interface INmCallNotify;
|
||
interface INmConference;
|
||
interface INmConferenceNotify;
|
||
interface INmChannel;
|
||
interface INmChannelNotify;
|
||
interface INmChannelData;
|
||
interface INmChannelDataNotify;
|
||
interface INmChannelFt;
|
||
interface INmChannelFtNotify;
|
||
interface INmChannelVideo;
|
||
interface INmChannelVideoNotify;
|
||
interface INmChannelAudio;
|
||
interface INmChannelAudioNotify;
|
||
interface INmChannelAppShare;
|
||
interface INmChannelAppShareNotify;
|
||
interface INmFt;
|
||
interface INmSharableApp;
|
||
interface IEnumNmConference;
|
||
interface IEnumNmMember;
|
||
interface IEnumNmChannel;
|
||
interface IEnumNmCall;
|
||
interface IEnumNmSharableApp;
|
||
|
||
|
||
cpp_quote("")
|
||
cpp_quote("////////////////////////////////////////////////////////////////////////////")
|
||
cpp_quote("//")
|
||
cpp_quote("// Constants")
|
||
cpp_quote("")
|
||
|
||
|
||
cpp_quote("// NetMeeting Channel Types")
|
||
cpp_quote("#define NMCH_NONE 0x00000000")
|
||
cpp_quote("#define NMCH_DATA 0x00000001")
|
||
cpp_quote("#define NMCH_AUDIO 0x00000002")
|
||
cpp_quote("#define NMCH_VIDEO 0x00000004")
|
||
cpp_quote("#define NMCH_SHARE 0x00000010")
|
||
cpp_quote("#define NMCH_FT 0x00000020")
|
||
cpp_quote("#define NMCH_ALL 0x0000FFFF")
|
||
cpp_quote("#define NMCH_SECURE 0x00010000")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// Initialization options")
|
||
cpp_quote("#define NM_INIT_NORMAL 0x00000000")
|
||
cpp_quote("#define NM_INIT_CONTROL 0x00000001")
|
||
cpp_quote("#define NM_INIT_NO_LAUNCH 0x00000002")
|
||
cpp_quote("#define NM_INIT_BACKGROUND 0x00000005")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// INmChannelDataNotify.DataReceived dwFlags")
|
||
cpp_quote("#define NM_DF_BROADCAST 0x00000010") // data was broadcast to everyone
|
||
cpp_quote("#define NM_DF_PRIVATE 0x00000020") // data was private
|
||
cpp_quote("#define NM_DF_SEGMENT_END 0x00000040") // end of data block
|
||
cpp_quote("#define NM_DF_SEGMENT_BEGIN 0x00000080") // start of data block
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// Audio")
|
||
cpp_quote("#define NM_MAX_AUDIO_LEVEL 0x0000FFFF")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// Video")
|
||
cpp_quote("#define NM_VIDEO_NO_AUTOSIZE 0x00000000")
|
||
cpp_quote("#define NM_VIDEO_SMALL 0x00000001")
|
||
cpp_quote("#define NM_VIDEO_MEDIUM 0x00000002")
|
||
cpp_quote("#define NM_VIDEO_LARGE 0x00000004")
|
||
cpp_quote("#define NM_VIDEO_MIN_QUALITY 0x00000000")
|
||
cpp_quote("#define NM_VIDEO_MAX_QUALITY 0x0000001F")
|
||
cpp_quote("#define NM_VIDEO_DEFAULT_QUALITY NM_VIDEO_MAX_QUALITY")
|
||
cpp_quote("#define NM_VIDEO_SOURCE_DIALOG 0x00000001")
|
||
cpp_quote("#define NM_VIDEO_FORMAT_DIALOG 0x00000002")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// Version Numbers")
|
||
cpp_quote("#define NM_VER_UNKNOWN 0x00000000")
|
||
cpp_quote("#define NM_VER_1 0x00000001")
|
||
cpp_quote("#define NM_VER_2 0x00000002")
|
||
cpp_quote("#define NM_VER_3 0x00000003")
|
||
cpp_quote("#define NM_VER_NetMeeting3 0x00000004")
|
||
cpp_quote("#define NM_VER_FUTURE 0x0000000F")
|
||
cpp_quote("")
|
||
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// User Categories")
|
||
cpp_quote("#define NM_CATEGORY_PERSONAL 0x00000001")
|
||
cpp_quote("#define NM_CATEGORY_BUSINESS 0x00000002")
|
||
cpp_quote("#define NM_CATEGORY_ADULT 0x00000004")
|
||
cpp_quote("")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("////////////////////////////////////////////////////////////////////////////")
|
||
cpp_quote("// Error Codes")
|
||
cpp_quote("")
|
||
cpp_quote("#define NM_E(e) (0x81000000UL | (ULONG) (e))")
|
||
cpp_quote("")
|
||
cpp_quote("enum {")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// NetMeeting specific error codes")
|
||
cpp_quote("//")
|
||
cpp_quote(" NM_S_NEXT_CONFERENCE = ((ULONG) 0x0201),") // INmSysInfo.SetProperty
|
||
cpp_quote(" NM_S_ON_RESTART = ((ULONG) 0x0202),") // INmSysInfo.SetProperty
|
||
cpp_quote("")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// Call specific error codes")
|
||
cpp_quote("//")
|
||
cpp_quote(" NM_CALLERR_NOT_INITIALIZED = NM_E(0x0100),") // Local system not initialized
|
||
cpp_quote(" NM_CALLERR_MEDIA = NM_E(0x0101),") // Invalid channel/media types
|
||
cpp_quote(" NM_CALLERR_NAME_RESOLUTION = NM_E(0x0102),") // Name resolution failed
|
||
cpp_quote(" NM_CALLERR_PASSWORD = NM_E(0x0103),") // Invalid conference password
|
||
cpp_quote(" NM_CALLERR_CONFERENCE_NAME = NM_E(0x0104),") // Problem with the conference name
|
||
cpp_quote(" NM_CALLERR_IN_CONFERENCE = NM_E(0x0105),") // Remote system is in a conference
|
||
cpp_quote(" NM_CALLERR_NOT_FOUND = NM_E(0x0106),") // User/Address not found
|
||
cpp_quote(" NM_CALLERR_MCU = NM_E(0x0107),") // Can't invite MCU into existing conference
|
||
cpp_quote(" NM_CALLERR_REJECTED = NM_E(0x0108),") // Remote system rejected the request
|
||
cpp_quote(" NM_CALLERR_AUDIO = NM_E(0x0109),") // Audio connection failed
|
||
cpp_quote(" NM_CALLERR_AUDIO_LOCAL = NM_E(0x010A),") // Local audio device already in use
|
||
cpp_quote(" NM_CALLERR_AUDIO_REMOTE = NM_E(0x010B),") // Remote audio device in use
|
||
cpp_quote(" NM_CALLERR_INVALID_PHONE_NUMBER = NM_E(0x01F0),") // Tried phone type with invalid phone number
|
||
cpp_quote(" NM_CALLERR_NO_PHONE_SUPPORT = NM_E(0x01F1),") // Tried phone type with no GK/GW configured
|
||
cpp_quote(" NM_CALLERR_INVALID_IPADDRESS = NM_E(0x01F2),") // Tried ip type with invalid ip address
|
||
cpp_quote(" NM_CALLERR_HOST_RESOLUTION_FAILED = NM_E(0x01F3),") // Tried computer type with unreachable host name
|
||
cpp_quote(" NM_CALLERR_NO_ILS = NM_E(0x01F4),") // Tried ils type with no ils configured
|
||
cpp_quote(" NM_CALLERR_ILS_RESOLUTION_FAILED = NM_E(0x01F5),") // Name not found on ils
|
||
cpp_quote(" NM_CALLERR_NO_ADDRESS = NM_E(0x01F6),") // No address component
|
||
cpp_quote(" NM_CALLERR_INVALID_ADDRESS = NM_E(0x01F7),") // Invalid address component
|
||
cpp_quote(" NM_CALLERR_NO_GATEKEEPER = NM_E(0x01F8),") // Could not reach gatekeeper
|
||
cpp_quote(" NM_CALLERR_NO_GATEWAY = NM_E(0x01F9),") // Could not reach gateway
|
||
cpp_quote(" NM_CALLERR_PARAM_ERROR = NM_E(0x01FA),") // Error in parameter syntax
|
||
cpp_quote(" NM_CALLERR_SECURITY_MISMATCH = NM_E(0x01FB),") // Desired security didnt match policy or current conference
|
||
cpp_quote(" NM_CALLERR_UNESCAPE_ERROR = NM_E(0x01FC),") // Parse error during unescaping
|
||
cpp_quote(" NM_CALLERR_ALREADY_CALLING = NM_E(0x01FD),") // Already calling this person
|
||
cpp_quote(" NM_CALLERR_LOOPBACK = NM_E(0x01FE),") // Called Local Machine
|
||
cpp_quote(" NM_CALLERR_UNKNOWN = NM_E(0x01FF),") // Unknown call error
|
||
cpp_quote("")
|
||
cpp_quote("// other error codes")
|
||
cpp_quote("//")
|
||
cpp_quote(" NM_E_NOT_INITIALIZED = NM_E(0x0200),") // INmManager not Initialized
|
||
cpp_quote(" NM_E_CHANNEL_ALREADY_EXISTS = NM_E(0x0201),") // Data channel already exists
|
||
cpp_quote(" NM_E_NO_T120_CONFERENCE = NM_E(0x0202),") // Not in a T.120 data conference
|
||
cpp_quote(" NM_E_NOT_ACTIVE = NM_E(0x0203),") // NetMeeting is not running
|
||
cpp_quote(" NM_E_FILE_TOO_BIG = NM_E(0x0204),") // The file we attempted to send is too big
|
||
cpp_quote(" NM_E_USER_CANCELED_SETUP = NM_E(0x0205),") // User canceled NetMeeting setup wizard
|
||
cpp_quote(" NM_E_ALREADY_RUNNING = NM_E(0x0206),") // This means that NetMeeting is already running
|
||
cpp_quote(" NM_E_SHARING_NOT_AVAILABLE = NM_E(0x0207),") // This means that NetMeeting is already running
|
||
|
||
|
||
|
||
cpp_quote("};")
|
||
cpp_quote("")
|
||
|
||
cpp_quote("")
|
||
cpp_quote("// GUID to receive userdata from \"callto:\" via INmCall::GetUserData")
|
||
cpp_quote("//")
|
||
cpp_quote("// {068B0780-718C-11d0-8B1A-00A0C91BC90E}")
|
||
cpp_quote("DEFINE_GUID(GUID_CallToUserData,")
|
||
cpp_quote("0x068b0780, 0x718c, 0x11d0, 0x8b, 0x1a, 0x0, 0xa0, 0xc9, 0x1b, 0xc9, 0x0e);")
|
||
cpp_quote("")
|
||
|
||
|
||
typedef enum tagNmConferenceState{
|
||
NM_CONFERENCE_IDLE = 0,
|
||
NM_CONFERENCE_WAITING = 1,
|
||
NM_CONFERENCE_INITIALIZING = 2,
|
||
NM_CONFERENCE_ACTIVE = 3,
|
||
} NM_CONFERENCE_STATE;
|
||
|
||
typedef enum tagNmCallType{
|
||
NM_CALL_DEFAULT = 0,
|
||
NM_CALL_T120 = 1,
|
||
NM_CALL_H323 = 2,
|
||
} NM_CALL_TYPE;
|
||
|
||
typedef enum tagNmAddrType{
|
||
NM_ADDR_UNKNOWN = 0,
|
||
NM_ADDR_IP = 1,
|
||
NM_ADDR_MACHINENAME = 2,
|
||
NM_ADDR_PSTN = 3,
|
||
NM_ADDR_ULS = 4,
|
||
NM_ADDR_H323_GATEWAY = 5,
|
||
NM_ADDR_CALLTO = 6,
|
||
NM_ADDR_T120_TRANSPORT = 7,
|
||
} NM_ADDR_TYPE;
|
||
|
||
typedef enum tagNmCallState{
|
||
NM_CALL_INVALID = 0,
|
||
NM_CALL_INIT = 1,
|
||
NM_CALL_RING = 2,
|
||
NM_CALL_SEARCH = 3,
|
||
NM_CALL_WAIT = 4,
|
||
NM_CALL_ACCEPTED = 5,
|
||
NM_CALL_REJECTED = 6,
|
||
NM_CALL_CANCELED = 7,
|
||
} NM_CALL_STATE;
|
||
|
||
typedef enum tagNmMemberNotify{
|
||
NM_MEMBER_ADDED = 0,
|
||
NM_MEMBER_REMOVED = 1,
|
||
NM_MEMBER_UPDATED = 2,
|
||
} NM_MEMBER_NOTIFY;
|
||
|
||
typedef enum tagNmChannelNotify{
|
||
NM_CHANNEL_ADDED = 0,
|
||
NM_CHANNEL_REMOVED = 1,
|
||
NM_CHANNEL_UPDATED = 2,
|
||
} NM_CHANNEL_NOTIFY;
|
||
|
||
typedef enum tagNmFtState{
|
||
NM_FT_INVALID = 0,
|
||
NM_FT_SENDING = 1,
|
||
NM_FT_RECEIVING = 2,
|
||
NM_FT_COMPLETE = 3,
|
||
} NM_FT_STATE;
|
||
|
||
typedef enum tagNmAudioState{
|
||
NM_AUDIO_IDLE = 0,
|
||
NM_AUDIO_LOCAL_PAUSED = 1,
|
||
NM_AUDIO_TRANSFERRING = 3,
|
||
} NM_AUDIO_STATE;
|
||
|
||
typedef enum tagNmAudProp{
|
||
NM_AUDPROP_LEVEL = 1,
|
||
NM_AUDPROP_PAUSE = 2,
|
||
} NM_AUDPROP;
|
||
|
||
typedef enum tagNmVideoState{
|
||
NM_VIDEO_IDLE = 0,
|
||
NM_VIDEO_LOCAL_PAUSED = 1,
|
||
NM_VIDEO_PREVIEWING = 2,
|
||
NM_VIDEO_TRANSFERRING = 3,
|
||
NM_VIDEO_BOTH_PAUSED = 5,
|
||
NM_VIDEO_REMOTE_PAUSED = 7,
|
||
} NM_VIDEO_STATE;
|
||
|
||
typedef enum tagNmVidProp{
|
||
NM_VIDPROP_PAUSE = 1,
|
||
NM_VIDPROP_WINDOW_AUTO_SIZE = 2,
|
||
NM_VIDPROP_WINDOW_SIZE = 3,
|
||
NM_VIDPROP_WINDOW_POSITION = 4,
|
||
NM_VIDPROP_WINDOW_TOP_MOST = 5,
|
||
NM_VIDPROP_WINDOW_VISIBLE = 6,
|
||
NM_VIDPROP_IMAGE_PREFERRED_SIZE = 7,
|
||
NM_VIDPROP_IMAGE_QUALITY = 8,
|
||
NM_VIDPROP_CAMERA_DIALOG = 9,
|
||
} NM_VIDPROP;
|
||
|
||
typedef enum tagNmShareState{
|
||
NM_SHARE_UNKNOWN = 0,
|
||
NM_SHARE_WORKING_ALONE = 1,
|
||
NM_SHARE_COLLABORATING = 2,
|
||
NM_SHARE_IN_CONTROL = 3,
|
||
} NM_SHARE_STATE;
|
||
|
||
typedef enum tagNmShAppState{
|
||
NM_SHAPP_NOT_SHARED = 0,
|
||
NM_SHAPP_SHARED = 1,
|
||
} NM_SHAPP_STATE;
|
||
|
||
typedef enum tagNmSysProp{
|
||
NM_SYSPROP_EMAIL_NAME = 1,
|
||
NM_SYSPROP_SERVER_NAME = 2,
|
||
NM_SYSPROP_RESOLVE_NAME = 3,
|
||
NM_SYSPROP_FIRST_NAME = 4,
|
||
NM_SYSPROP_LAST_NAME = 5,
|
||
NM_SYSPROP_USER_NAME = 6,
|
||
NM_SYSPROP_USER_CITY = 7,
|
||
NM_SYSPROP_USER_COUNTRY = 8,
|
||
NM_SYSPROP_USER_COMMENTS = 9,
|
||
NM_SYSPROP_USER_CATEGORY = 10,
|
||
NM_SYSPROP_USER_PHONENUM = 11,
|
||
NM_SYSPROP_USER_LOCATION = 12,
|
||
NM_SYSPROP_H323_GATEWAY = 20,
|
||
NM_SYSPROP_H323_GATEWAY_ENABLE = 21,
|
||
NM_SYSPROP_INSTALL_DIRECTORY = 50,
|
||
NM_SYSPROP_APP_NAME = 51,
|
||
NM_SYSPROP_ICA_ENABLE = 60,
|
||
NM_SYSPROP_LOGGED_ON = 69,
|
||
NM_SYSPROP_IS_RUNNING = 100,
|
||
NM_SYSPROP_IN_CONFERENCE = 101,
|
||
NM_SYSPROP_BUILD_VER = 200,
|
||
NM_SYSPROP_DISABLE_H323 = 201,
|
||
NM_SYSPROP_DISABLE_INITIAL_ILS_LOGON = 202
|
||
} NM_SYSPROP;
|
||
|
||
typedef enum tagConfn{
|
||
|
||
// File Transfer
|
||
CONFN_FT_UI = 0x000211,
|
||
CONFN_FT_OFFERED = 0x000212,
|
||
CONFN_FT_STARTED = 0x000213,
|
||
CONFN_FT_PROGRESS = 0x000214,
|
||
CONFN_FT_COMPLETE = 0x000215,
|
||
CONFN_FT_CANCELED = 0x000216,
|
||
// Sharing
|
||
CONFN_CLICK_CONTROL = 0x000220,
|
||
CONFN_CLICK_OBSCURE = 0x000221,
|
||
CONFN_CLICK_REMOTE_NOT_COLLABORATING = 0x000222,
|
||
CONFN_CLICK_LOCAL_NOT_COLLABORATING = 0x000223,
|
||
CONFN_ESCAPE_KEY_CONTROL = 0x000224,
|
||
CONFN_RIGHT_CLICK_LOCAL_NOT_COLLABORATING = 0x000225,
|
||
CONFN_RIGHT_CLICK_REMOTE_NOT_COLLABORATING = 0x000226,
|
||
CONFN_DOUBLE_CLICK_SHARED_APP = 0x000227,
|
||
CONFN_SHARE_STARTED = 0x000228,
|
||
CONFN_SHARE_ENDED = 0x000229,
|
||
CONFN_SHARE_FAILED = 0x000230,
|
||
|
||
|
||
// Call control
|
||
CONFN_CALL_INCOMPATIBLE = 0x000400,
|
||
CONFN_CALL_OLDER = 0x000401,
|
||
CONFN_CALL_NEWER = 0x000402,
|
||
CONFN_CALL_IGNORED = 0x000403,
|
||
CONFN_CALL_FAILED = 0x000404,
|
||
CONFN_CALL_IN_CONFERENCE = 0x000405,
|
||
|
||
// Manager notifications
|
||
CONFN_NM_STARTED = 0x000600,
|
||
CONFN_NM_STOPPED = 0x000601,
|
||
|
||
} CONFN;
|
||
|
||
|
||
|
||
// INmObject constants
|
||
typedef enum NM_APPID {
|
||
NM_APPID_CHAT = 1,
|
||
NM_APPID_WHITEBOARD = 2,
|
||
NM_APPID_T126_WHITEBOARD = 3,
|
||
NM_APPID_FILE_TRANSFER = 4,
|
||
NM_APPID_APPSHARING = 5
|
||
|
||
} NM_APPID;
|
||
|
||
typedef enum NM_VUI {
|
||
NM_VUI_CHECK = 0,
|
||
NM_VUI_SHOW = 1
|
||
} NM_VUI;
|
||
|
||
typedef enum NM_CALLDLG {
|
||
NM_CALLDLG_RESERVED = 0
|
||
} NM_CALLDLG;
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmManager Interface
|
||
[
|
||
object,
|
||
uuid(068B0701-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmManager : IUnknown
|
||
{
|
||
typedef [unique] INmManager *LPNMMANAGER;
|
||
|
||
[local]
|
||
HRESULT Initialize(
|
||
[in, out] ULONG * puOptions, // Can be NULL
|
||
[in, out] ULONG * puchCaps); // Can be NULL
|
||
|
||
[call_as(Initialize)]
|
||
HRESULT RemoteInitialize(
|
||
[in, out] ULONG * puOptions,
|
||
[in, out] ULONG * puchCaps);
|
||
|
||
HRESULT GetSysInfo(
|
||
[out] INmSysInfo **ppSysInfo);
|
||
|
||
HRESULT EnumConference(
|
||
[out] IEnumNmConference **ppEnum);
|
||
|
||
[local]
|
||
HRESULT CreateConference(
|
||
[out] INmConference **ppConference,
|
||
[in] BSTR bstrName,
|
||
[in] BSTR bstrPassword,
|
||
[in] ULONG uchCaps);
|
||
|
||
[call_as(CreateConference)]
|
||
HRESULT RemoteCreateConference(
|
||
[out] INmConference **ppConference,
|
||
[in] BSTR bstrName,
|
||
[in] BSTR bstrPassword,
|
||
[in] ULONG uchCaps);
|
||
|
||
|
||
HRESULT EnumCall(
|
||
[out] IEnumNmCall **ppEnum);
|
||
|
||
[local]
|
||
HRESULT CreateCall(
|
||
[out] INmCall **ppCall, // Can be NULL
|
||
[in] NM_CALL_TYPE callType,
|
||
[in] NM_ADDR_TYPE addrType,
|
||
[in] BSTR bstrAddr,
|
||
[in] INmConference * pConference);
|
||
|
||
[call_as(CreateCall)]
|
||
HRESULT RemoteCreateCall(
|
||
[out] INmCall **ppCall,
|
||
[in] NM_CALL_TYPE callType,
|
||
[in] NM_ADDR_TYPE addrType,
|
||
[in] BSTR bstrAddr,
|
||
[in] INmConference * pConference);
|
||
|
||
[local]
|
||
HRESULT CallConference(
|
||
[out] INmCall **ppCall,
|
||
[in] NM_CALL_TYPE callType,
|
||
[in] NM_ADDR_TYPE addrType,
|
||
[in] BSTR bstrAddr,
|
||
[in] BSTR bstrName,
|
||
[in] BSTR bstrPassword);
|
||
|
||
[call_as(CallConference)]
|
||
HRESULT RemoteCallConference(
|
||
[out] INmCall **ppCall,
|
||
[in] NM_CALL_TYPE callType,
|
||
[in] NM_ADDR_TYPE addrType,
|
||
[in] BSTR bstrAddr,
|
||
[in] BSTR bstrName,
|
||
[in] BSTR bstrPassword);
|
||
|
||
}
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmManagerNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0702-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmManagerNotify : IUnknown
|
||
{
|
||
typedef [unique] INmManagerNotify *LPNMMANAGERNOTIFY;
|
||
|
||
HRESULT NmUI(
|
||
[in] CONFN uNotify);
|
||
|
||
HRESULT ConferenceCreated(
|
||
[in] INmConference *pConference);
|
||
|
||
HRESULT CallCreated(
|
||
[in] INmCall *pCall);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmSysInfo Interface
|
||
[
|
||
local,
|
||
object,
|
||
uuid(068B0703-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmSysInfo : IUnknown
|
||
{
|
||
typedef [unique] INmSysInfo *LPNMSYSINFO;
|
||
|
||
HRESULT IsInstalled(
|
||
void);
|
||
|
||
HRESULT GetProperty(
|
||
[in] NM_SYSPROP uProp,
|
||
[out] BSTR *pbstrName);
|
||
|
||
HRESULT SetProperty(
|
||
[in] NM_SYSPROP uProp,
|
||
[in] BSTR bstrName);
|
||
|
||
HRESULT GetUserData(
|
||
[in] REFGUID rguid,
|
||
[out] BYTE **ppb,
|
||
[out] ULONG *pcb);
|
||
|
||
HRESULT SetUserData(
|
||
[in] REFGUID rguid,
|
||
[in] BYTE *pb,
|
||
[in] ULONG cb);
|
||
|
||
HRESULT GetNmApp(
|
||
[in] REFGUID rguid,
|
||
[out] BSTR *pbstrApplication,
|
||
[out] BSTR *pbstrCommandLine,
|
||
[out] BSTR *pbstrDirectory);
|
||
|
||
HRESULT SetNmApp(
|
||
[in] REFGUID rguid,
|
||
[in] BSTR bstrApplication,
|
||
[in] BSTR bstrCommandLine,
|
||
[in] BSTR bstrDirectory);
|
||
|
||
HRESULT GetNmchCaps(
|
||
[out] ULONG *pchCaps);
|
||
|
||
HRESULT GetLaunchInfo(
|
||
[out] INmConference **ppConference, // Can be NULL
|
||
[out] INmMember **ppMember); // Can be NULL
|
||
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmCall Interface
|
||
[
|
||
object,
|
||
uuid(068B0704-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmCall : IUnknown
|
||
{
|
||
typedef [unique] INmCall *LPNMCALL;
|
||
|
||
HRESULT IsIncoming(
|
||
void);
|
||
|
||
HRESULT GetState(
|
||
[out] NM_CALL_STATE *pState);
|
||
|
||
HRESULT GetName(
|
||
[out] BSTR *pbstrName);
|
||
|
||
HRESULT GetAddr(
|
||
[out] BSTR *pbstrAddr,
|
||
[out] NM_ADDR_TYPE *puType);
|
||
|
||
HRESULT GetUserData(
|
||
[in] REFGUID rguid,
|
||
[out, size_is(,*pcb)] BYTE **ppb,
|
||
[out] ULONG *pcb);
|
||
|
||
HRESULT GetConference(
|
||
[out] INmConference **ppConference);
|
||
|
||
HRESULT Accept(
|
||
void);
|
||
|
||
HRESULT Reject(
|
||
void);
|
||
|
||
HRESULT Cancel(
|
||
void);
|
||
}
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmCallNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0705-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmCallNotify : IUnknown
|
||
{
|
||
HRESULT NmUI(
|
||
[in] CONFN uNotify);
|
||
|
||
HRESULT StateChanged(
|
||
[in] NM_CALL_STATE uState);
|
||
|
||
HRESULT Failed(
|
||
[in] ULONG uError);
|
||
|
||
HRESULT Accepted(
|
||
[in] INmConference *pConference);
|
||
}
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmConference Interface
|
||
[
|
||
object,
|
||
uuid(068B0710-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmConference : IUnknown
|
||
{
|
||
typedef [unique] INmConference *LPNMCONFERENCE;
|
||
|
||
HRESULT GetName(
|
||
[out] BSTR *pbstrName);
|
||
|
||
HRESULT GetID(
|
||
[out] ULONG *puID);
|
||
|
||
HRESULT GetState(
|
||
[out] NM_CONFERENCE_STATE *pState);
|
||
|
||
HRESULT GetNmchCaps(
|
||
[out] ULONG *puchCaps);
|
||
|
||
HRESULT GetTopProvider(
|
||
[out] INmMember **ppMember);
|
||
|
||
HRESULT EnumMember(
|
||
[out] IEnumNmMember **ppEnum);
|
||
|
||
HRESULT GetMemberCount(
|
||
[out] ULONG * puCount);
|
||
|
||
HRESULT EnumChannel(
|
||
[out] IEnumNmChannel **ppEnum);
|
||
|
||
HRESULT GetChannelCount(
|
||
[out] ULONG * puCount);
|
||
|
||
[local]
|
||
HRESULT CreateDataChannel(
|
||
[out] INmChannelData **ppChannel, // Can be NULL
|
||
[in] REFGUID rguid);
|
||
|
||
[call_as(CreateDataChannel)]
|
||
HRESULT RemoteCreateDataChannel(
|
||
[out] INmChannelData **ppChannel,
|
||
[in] REFGUID rguid);
|
||
|
||
|
||
HRESULT IsHosting(
|
||
void);
|
||
|
||
HRESULT Host(
|
||
void);
|
||
|
||
HRESULT Leave(
|
||
void);
|
||
|
||
HRESULT LaunchRemote(
|
||
[in] REFGUID rguid,
|
||
[in] INmMember *pMember);
|
||
}
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmConferenceNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0711-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmConferenceNotify : IUnknown
|
||
{
|
||
HRESULT NmUI(
|
||
[in] CONFN uNotify);
|
||
|
||
HRESULT StateChanged(
|
||
[in] NM_CONFERENCE_STATE uState);
|
||
|
||
HRESULT MemberChanged(
|
||
[in] NM_MEMBER_NOTIFY uNotify,
|
||
[in] INmMember *pMember);
|
||
|
||
HRESULT ChannelChanged(
|
||
[in] NM_CHANNEL_NOTIFY uNotify,
|
||
[in] INmChannel *pChannel);
|
||
}
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmMember Interface
|
||
[
|
||
object,
|
||
uuid(068B0712-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmMember : IUnknown
|
||
{
|
||
HRESULT GetName(
|
||
[out] BSTR *pbstrName);
|
||
|
||
HRESULT GetID(
|
||
[out] ULONG *puID);
|
||
|
||
HRESULT GetNmVersion(
|
||
[out] ULONG *puVersion);
|
||
|
||
HRESULT GetAddr(
|
||
[out] BSTR *pbstrAddr,
|
||
[out] NM_ADDR_TYPE *puType);
|
||
|
||
HRESULT GetUserData(
|
||
[in] REFGUID rguid,
|
||
[out, size_is(,*pcb)] BYTE **ppb,
|
||
[out] ULONG *pcb);
|
||
|
||
HRESULT GetConference(
|
||
[out] INmConference **ppConference);
|
||
|
||
HRESULT GetNmchCaps(
|
||
[out] ULONG *puchCaps);
|
||
|
||
HRESULT GetShareState(
|
||
[out] NM_SHARE_STATE *puState);
|
||
|
||
HRESULT IsSelf(
|
||
void);
|
||
|
||
HRESULT IsMCU(
|
||
void);
|
||
|
||
HRESULT Eject(
|
||
void);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannel Interface
|
||
[
|
||
object,
|
||
uuid(068B0720-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannel : IUnknown
|
||
{
|
||
HRESULT IsSameAs(
|
||
[in] INmChannel *pChannel);
|
||
|
||
HRESULT IsActive(
|
||
void);
|
||
|
||
HRESULT SetActive(
|
||
[in] BOOL fActive);
|
||
|
||
HRESULT GetConference(
|
||
[out] INmConference **ppConference);
|
||
|
||
HRESULT GetInterface(
|
||
[out] IID *piid);
|
||
|
||
HRESULT GetNmch(
|
||
[out] ULONG *puCh);
|
||
|
||
HRESULT EnumMember(
|
||
[out] IEnumNmMember **ppEnum);
|
||
|
||
HRESULT GetMemberCount(
|
||
[out] ULONG * puCount);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0721-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelNotify : IUnknown
|
||
{
|
||
HRESULT NmUI(
|
||
[in] CONFN uNotify);
|
||
|
||
HRESULT MemberChanged(
|
||
[in] NM_MEMBER_NOTIFY uNotify,
|
||
[in] INmMember *pMember);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelData Interface
|
||
[
|
||
object,
|
||
uuid(068B0722-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelData : INmChannel
|
||
{
|
||
HRESULT GetGuid(
|
||
[out] GUID *pguid);
|
||
|
||
HRESULT SendData(
|
||
[in] INmMember *pMember,
|
||
[in] ULONG uSize,
|
||
[in, size_is(uSize)] byte *pvBuffer,
|
||
[in] ULONG uOptions);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelDataNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0723-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelDataNotify : INmChannelNotify
|
||
{
|
||
HRESULT DataSent(
|
||
[in] INmMember *pMember,
|
||
[in] ULONG uSize,
|
||
[in, size_is(uSize)] byte *pvBuffer);
|
||
|
||
HRESULT DataReceived(
|
||
[in] INmMember *pMember,
|
||
[in] ULONG uSize,
|
||
[in, size_is(uSize)] byte *pvBuffer,
|
||
[in] ULONG dwFlags);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelAudio Interface
|
||
[
|
||
object,
|
||
uuid(068B0724-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelAudio : INmChannel
|
||
{
|
||
HRESULT IsIncoming(
|
||
void);
|
||
|
||
HRESULT GetState(
|
||
[out] NM_AUDIO_STATE *puState);
|
||
|
||
HRESULT GetProperty(
|
||
[in] NM_AUDPROP uID,
|
||
[out] HANDLE_PTR *puValue);
|
||
|
||
HRESULT SetProperty(
|
||
[in] NM_AUDPROP uID,
|
||
[in] HANDLE_PTR uValue);
|
||
}
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelAudioNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0725-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelAudioNotify : INmChannelNotify
|
||
{
|
||
HRESULT StateChanged(
|
||
[in] NM_AUDIO_STATE uState);
|
||
|
||
HRESULT PropertyChanged(
|
||
[in] DWORD dwReserved);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelVideo Interface
|
||
[
|
||
object,
|
||
uuid(068B0726-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelVideo : INmChannel
|
||
{
|
||
HRESULT IsIncoming(
|
||
void);
|
||
|
||
HRESULT GetState(
|
||
[out] NM_VIDEO_STATE *puState);
|
||
|
||
HRESULT GetProperty(
|
||
[in] NM_VIDPROP uID,
|
||
[out] HANDLE_PTR *puValue);
|
||
|
||
HRESULT SetProperty(
|
||
[in] NM_VIDPROP uID,
|
||
[in] HANDLE_PTR uValue);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelVideoNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0727-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelVideoNotify : INmChannelNotify
|
||
{
|
||
HRESULT StateChanged(
|
||
[in] NM_VIDEO_STATE uState);
|
||
|
||
HRESULT PropertyChanged(
|
||
[in] DWORD dwReserved);
|
||
}
|
||
|
||
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelFt Interface
|
||
[
|
||
object,
|
||
uuid(068B0728-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelFt : INmChannel
|
||
{
|
||
[local]
|
||
HRESULT SendFile(
|
||
[out] INmFt **ppFt, // Can be NULL
|
||
[in] INmMember *pMember,
|
||
[in] BSTR bstrFile,
|
||
[in] ULONG uOptions);
|
||
|
||
[call_as(SendFile)]
|
||
HRESULT RemoteSendFile(
|
||
[out] INmFt **ppFt,
|
||
[in] INmMember *pMember,
|
||
[in] BSTR bstrFile,
|
||
[in] ULONG uOptions);
|
||
|
||
|
||
[local]
|
||
HRESULT SetReceiveFileDir(
|
||
[in] BSTR bstrDir);
|
||
|
||
[call_as(SetReceiveFileDir)]
|
||
HRESULT RemoteSetReceiveFileDir(
|
||
[in] BSTR bstrDir);
|
||
|
||
HRESULT GetReceiveFileDir(
|
||
[out] BSTR *pbstrDir);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelFtNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B0729-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelFtNotify : INmChannelNotify
|
||
{
|
||
HRESULT FtUpdate(
|
||
[in] CONFN uNotify,
|
||
[in] INmFt *pFt);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmFt Interface
|
||
[
|
||
object,
|
||
uuid(068B0732-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmFt : IUnknown
|
||
{
|
||
HRESULT IsIncoming(
|
||
void);
|
||
|
||
HRESULT GetState(
|
||
[out] NM_FT_STATE *puState);
|
||
|
||
HRESULT GetName(
|
||
[out] BSTR *pbstrName);
|
||
|
||
HRESULT GetSize(
|
||
[out] ULONG *puBytes);
|
||
|
||
HRESULT GetBytesTransferred(
|
||
[out] ULONG *puBytes);
|
||
|
||
HRESULT GetMember(
|
||
[out] INmMember **ppMember);
|
||
|
||
HRESULT Cancel(
|
||
void);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelAppShare Interface
|
||
[
|
||
object,
|
||
uuid(068B072A-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelAppShare : INmChannel
|
||
{
|
||
HRESULT GetState(
|
||
[out] NM_SHARE_STATE *puState);
|
||
|
||
HRESULT SetState(
|
||
[in] NM_SHARE_STATE uState);
|
||
|
||
HRESULT EnumSharableApp(
|
||
[out] IEnumNmSharableApp **ppEnum);
|
||
}
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmChannelAppShareNotify Interface
|
||
[
|
||
object,
|
||
uuid(068B072B-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmChannelAppShareNotify : INmChannelNotify
|
||
{
|
||
HRESULT StateChanged(
|
||
[in] NM_SHAPP_STATE uState,
|
||
[in] INmSharableApp *pApp);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// INmSharableApp Interface
|
||
[
|
||
object,
|
||
uuid(068B0734-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface INmSharableApp : IUnknown
|
||
{
|
||
HRESULT GetName(
|
||
[out] BSTR *pbstrName);
|
||
|
||
HRESULT GetHwnd(
|
||
[out] HWND * phwnd);
|
||
|
||
HRESULT GetState(
|
||
[out] NM_SHAPP_STATE *puState);
|
||
|
||
HRESULT SetState(
|
||
[in] NM_SHAPP_STATE uState);
|
||
}
|
||
|
||
|
||
|
||
cpp_quote("")
|
||
cpp_quote("////////////////////////////////////////////////////////////////////////////")
|
||
cpp_quote("// Enumerator Definitions")
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// IEnumNmConference Interface
|
||
[
|
||
object,
|
||
uuid(068B0741-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface IEnumNmConference : IUnknown
|
||
{
|
||
[local]
|
||
HRESULT Next(
|
||
[in] ULONG cConference,
|
||
[out] INmConference **rgpConference,
|
||
[out] ULONG *pcFetched);
|
||
|
||
[call_as(Next)]
|
||
HRESULT RemoteNext(
|
||
[in] ULONG cConference,
|
||
[out, size_is(cConference), length_is(*pcFetched) ] INmConference **rgpConference,
|
||
[out] ULONG *pcFetched,
|
||
[out] ULONG *pcItems,
|
||
[in] BOOL bGetNumberRemaining);
|
||
|
||
HRESULT Skip(
|
||
[in] ULONG cConference);
|
||
|
||
HRESULT Reset();
|
||
|
||
HRESULT Clone(
|
||
[out] IEnumNmConference **ppEnum);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// IEnumNmMember Interface
|
||
[
|
||
object,
|
||
uuid(068B0742-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface IEnumNmMember : IUnknown
|
||
{
|
||
[local]
|
||
HRESULT Next(
|
||
[in] ULONG cMember,
|
||
[out] INmMember **rgpMember,
|
||
[out] ULONG *pcFetched);
|
||
|
||
[call_as(Next)]
|
||
HRESULT RemoteNext(
|
||
[in] ULONG cMember,
|
||
[out, size_is(cMember), length_is(*pcFetched) ] INmMember **rgpMember,
|
||
[out] ULONG *pcFetched,
|
||
[out] ULONG *pcItems,
|
||
[in] BOOL bGetNumberRemaining);
|
||
|
||
HRESULT Skip(
|
||
[in] ULONG cMember);
|
||
|
||
HRESULT Reset();
|
||
|
||
HRESULT Clone(
|
||
[out] IEnumNmMember **ppEnum);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// IEnumNmChannel Interface
|
||
[
|
||
object,
|
||
uuid(068B0743-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface IEnumNmChannel : IUnknown
|
||
{
|
||
[local]
|
||
HRESULT Next(
|
||
[in] ULONG cChannel,
|
||
[out, size_is(cChannel), length_is(*pcFetched)] INmChannel **rgpChannel,
|
||
[out] ULONG *pcFetched);
|
||
|
||
[call_as(Next)]
|
||
HRESULT RemoteNext(
|
||
[in] ULONG cChannel,
|
||
[out, size_is(cChannel), length_is(*pcFetched)] INmChannel **rgpChannel,
|
||
[out] ULONG *pcFetched,
|
||
[out] ULONG *pcItems,
|
||
[in] BOOL bGetNumberRemaining);
|
||
|
||
HRESULT Skip(
|
||
[in] ULONG cChannel);
|
||
|
||
HRESULT Reset();
|
||
|
||
HRESULT Clone(
|
||
[out] IEnumNmChannel **ppEnum);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// IEnumNmCall Interface
|
||
[
|
||
object,
|
||
uuid(068B0744-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface IEnumNmCall : IUnknown
|
||
{
|
||
[local]
|
||
HRESULT Next(
|
||
[in] ULONG cCall,
|
||
[out] INmCall **rgpCall,
|
||
[out] ULONG *pcFetched);
|
||
|
||
[call_as(Next)]
|
||
HRESULT RemoteNext(
|
||
[in] ULONG cCall,
|
||
[out, size_is(cCall), length_is(*pcFetched)] INmCall **rgpCall,
|
||
[out] ULONG *pcFetched,
|
||
[out] ULONG *pcItems,
|
||
[in] BOOL bGetNumberRemaining);
|
||
|
||
HRESULT Skip(
|
||
[in] ULONG cCall);
|
||
|
||
HRESULT Reset();
|
||
|
||
HRESULT Clone(
|
||
[out] IEnumNmCall **ppEnum);
|
||
}
|
||
|
||
|
||
//--------------------------------------------------------------------------
|
||
// IEnumNmSharableApp Interface
|
||
[
|
||
object,
|
||
uuid(068B0745-718C-11d0-8B1A-00A0C91BC90E),
|
||
pointer_default(unique)
|
||
]
|
||
interface IEnumNmSharableApp : IUnknown
|
||
{
|
||
[local]
|
||
HRESULT Next(
|
||
[in] ULONG cApp,
|
||
[out] INmSharableApp **rgpApp,
|
||
[out] ULONG *pcFetched);
|
||
|
||
[call_as(Next)]
|
||
HRESULT RemoteNext(
|
||
[in] ULONG cApp,
|
||
[out, size_is(cApp), length_is(*pcFetched)] INmSharableApp **rgpApp,
|
||
[out] ULONG *pcFetched,
|
||
[out] ULONG *pcItems,
|
||
[in] BOOL bGetNumberRemaining);
|
||
|
||
HRESULT Skip(
|
||
[in] ULONG cApp);
|
||
|
||
HRESULT Reset();
|
||
|
||
HRESULT Clone(
|
||
[out] IEnumNmSharableApp **ppEnum);
|
||
}
|
||
|
||
[
|
||
object,
|
||
uuid(068B0780-718C-11d0-8B1A-00A0C91BC90E), // IID_INmOffice
|
||
pointer_default(unique)
|
||
]
|
||
interface INmObject : IUnknown
|
||
{
|
||
[local]
|
||
HRESULT CallDialog([in] long hwnd, [in] int options);
|
||
|
||
[call_as(CallDialog)]
|
||
HRESULT RemoteCallDialog([in] long hwnd, [in] int options);
|
||
|
||
[local]
|
||
HRESULT ShowLocal([in] NM_APPID appId);
|
||
|
||
[call_as(ShowLocal)]
|
||
HRESULT RemoteShowLocal([in] NM_APPID appId);
|
||
|
||
[local]
|
||
HRESULT VerifyUserInfo([in] UINT_PTR hwnd, [in] NM_VUI options);
|
||
|
||
[call_as(VerifyUserInfo)]
|
||
HRESULT RemoteVerifyUserInfo([in] long hwnd, [in] NM_VUI options);
|
||
|
||
};
|
||
|
||
[
|
||
uuid(068B07FF-718C-11d0-8B1A-00A0C91BC90E),
|
||
version(1.0),
|
||
helpstring("NmManager 2.0 Type Library")
|
||
]
|
||
library NmManager
|
||
{
|
||
|
||
[
|
||
uuid(068B0700-718C-11d0-8B1A-00A0C91BC90E),
|
||
helpstring("NetMeeting Manager")
|
||
]
|
||
coclass NmManager
|
||
{
|
||
[default] interface INmManager;
|
||
};
|
||
};
|
||
|