|
|
//+--------------------------------------------------------------------------- // // 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; }; };
|