123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224 |
- //+---------------------------------------------------------------------------
- //
- // Contents: Conferencing Services Object interfaces
- //
- // Copyright 1995 - 2002 Microsoft Corporation. All Rights Reserved.
- //
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- // PARTICULAR PURPOSE.
- //----------------------------------------------------------------------------
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows")
- cpp_quote("// Copyright 1995 - 2002 Microsoft Corporation. All Rights Reserved.")
- cpp_quote("//")
- cpp_quote("// File: imsconf2.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_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_NetMeeting2_11 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_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 Shring is not available
- cpp_quote("};")
- 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_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_CALLERISRTC = 300
- } 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,
- // 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;
- //--------------------------------------------------------------------------
- // 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] ULONG *puValue);
- HRESULT SetProperty(
- [in] NM_AUDPROP uID,
- [in] ULONG 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] ULONG *puValue);
- HRESULT SetProperty(
- [in] NM_VIDPROP uID,
- [in] ULONG 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_INmObject
- pointer_default(unique)
- ]
- interface INmObject : IUnknown
- {
- HRESULT CallDialog([in] long hwnd, [in] int options);
- HRESULT ShowLocal([in] NM_APPID appId);
- [local]
- HRESULT VerifyUserInfo([in] long 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;
- };
- };
|