|
|
//+--------------------------------------------------------------------------- // // Copyright 2001 Microsoft Corporation. All Rights Reserved. // // Contents: MSN Messenger UI Automantion interfaces // //----------------------------------------------------------------------------
#ifdef __MKTYPLIB__ #define VARIANT_BOOL boolean #else // __MKTYPLIB__ cpp_quote("//+-------------------------------------------------------------------------") cpp_quote("//") cpp_quote("// Microsoft Windows") cpp_quote("// Copyright 1997 Microsoft Corporation. All Rights Reserved.") cpp_quote("//") cpp_quote("// File: msnmsgrua.h") cpp_quote("//") cpp_quote("//--------------------------------------------------------------------------")
import "objidl.idl"; import "oleidl.idl"; import "oaidl.idl"; #endif // __MKTYPLIB__ #include "mdispid.h"
#define MSGR_S(e) (0x01000300 + (e)) #define MSGR_E(e) (0x81000300 + (e)) #define E_FAIL 0x80004005 #define S_OK 0
////////////////////////////////////////////////////////////////////////////////// // GUID usage: // {218CB450-20B6-11d2-8E17-0000F803A446}-{218CB45F-20B6-11d2-8E17-0000F803A446}
//-------------------------------------------------------------------------- // Type Library [ uuid(218CB45F-20B6-11d2-8E17-0000F803A446), // LIBID_Messenger version(1.0), helpstring("Messenger UI Automation Type Library") ] library Messenger { importlib("stdole32.tlb"); interface IMessengerUA; interface IMessengerIMWindow; interface IMessengerIMWindows; interface IMessengerContact; interface IMessengerContacts;
#define DISPID_VALUE 0 #define DISPID_NEWENUM -4
typedef enum { MSTATE_UNKNOWN = 0x0000, MSTATE_OFFLINE = 0x0001, MSTATE_ONLINE = 0x0002, MSTATE_INVISIBLE = 0x0006, MSTATE_BUSY = 0x000A, MSTATE_BE_RIGHT_BACK = 0x000E, MSTATE_IDLE = 0x0012, MSTATE_AWAY = 0x0022, MSTATE_ON_THE_PHONE = 0x0032, MSTATE_OUT_TO_LUNCH = 0x0042, MSTATE_LOCAL_FINDING_SERVER = 0x0100, MSTATE_LOCAL_CONNECTING_TO_SERVER = 0x0200, MSTATE_LOCAL_SYNCHRONIZING_WITH_SERVER = 0x0300, MSTATE_LOCAL_DISCONNECTING_FROM_SERVER = 0x0400, } MSTATE;
typedef enum { MPROMPT_YES_IF_NOT_ALLOWED_OR_BLOCKED = 0, MPROMPT_NO_ADD_TO_ALLOW = 1, } MPROMPT;
typedef enum { MMSGPRIVACY_BLOCK_LIST_EXCLUDED = 0, MMSGPRIVACY_ALLOW_LIST_ONLY = 1, } MMSGPRIVACY;
typedef enum { MURLTYPE_CHANGE_PASSWORD = 0, MURLTYPE_CHANGE_INFO = 1, MURLTYPE_COMPOSE_EMAIL = 2, MURLTYPE_GO_TO_EMAIL_INBOX = 3, MURLTYPE_GO_TO_EMAIL_FOLDERS = 4, MURLTYPE_MOBILE_SIGNUP = 5, MURLTYPE_CHANGE_MOBILE_INFO = 6, MURLTYPE_CHANGE_PROFILE = 7, MURLTYPE_N2P_ACCOUNT = 8, MURLTYPE_N2P_ADD_FUND = 9 } MURLTYPE;
typedef enum { MLIST_CONTACT = 0, MLIST_ALLOW = 1, MLIST_BLOCK = 2, MLIST_REVERSE = 3, } MLIST;
typedef enum { MMSGTYPE_NO_RESULT = 0, MMSGTYPE_ERRORS_ONLY = 1, MMSGTYPE_ALL_RESULTS = 2, } MMSGTYPE;
typedef enum { MUPDATE_OPTIONAL = 0x00000001, MUPDATE_MANDATORY = 0x00000002, MUPDATE_BRANDED = 0x00000004, } MUPDATE_FLAGS;
typedef enum { MIF_REQUEST_LAUNCH = 0x00000001, MIF_REQUEST_IP = 0x00000004, MIF_PROVIDE_IP = 0x00000008, } MINVITE_FLAGS;
typedef enum { MPFLFIELD_COUNTRY = 0, MPFLFIELD_POSTALCODE = 1, MPFLFIELD_LANG_PREFERENCE = 2, MPFLFIELD_GENDER = 3, MPFLFIELD_PREFERRED_EMAIL = 4, MPFLFIELD_NICKNAME = 5, MPFLFIELD_ACCESSIBILITY = 6, MPFLFIELD_WALLET = 7, MPFLFIELD_DIRECTORY = 8, MPFLFIELD_INETACCESS = 9, } MPFLFIELD;
typedef enum { MSGR_E_CONNECT = MSGR_E(0x0001), MSGR_E_INVALID_SERVER_NAME = MSGR_E(0x0002), MSGR_E_INVALID_PASSWORD = MSGR_E(0x0003), MSGR_E_ALREADY_LOGGED_ON = MSGR_E(0x0004), MSGR_E_SERVER_VERSION = MSGR_E(0x0005), MSGR_E_LOGON_TIMEOUT = MSGR_E(0x0006), MSGR_E_LIST_FULL = MSGR_E(0x0007), MSGR_E_AI_REJECT = MSGR_E(0x0008), MSGR_E_AI_REJECT_NOT_INST = MSGR_E(0x0009), MSGR_E_USER_NOT_FOUND = MSGR_E(0x000A), MSGR_E_ALREADY_IN_LIST = MSGR_E(0x000B), MSGR_E_DISCONNECTED = MSGR_E(0x000C), MSGR_E_UNEXPECTED = MSGR_E(0x000D), MSGR_E_SERVER_TOO_BUSY = MSGR_E(0x000E), MSGR_E_INVALID_AUTH_PACKAGES = MSGR_E(0x000F), MSGR_E_NEWER_CLIENT_AVAILABLE = MSGR_E(0x0010), MSGR_E_AI_TIMEOUT = MSGR_E(0x0011), MSGR_E_CANCEL = MSGR_E(0x0012), MSGR_E_TOO_MANY_MATCHES = MSGR_E(0x0013), MSGR_E_SERVER_UNAVAILABLE = MSGR_E(0x0014), MSGR_E_LOGON_UI_ACTIVE = MSGR_E(0x0015), MSGR_E_OPTION_UI_ACTIVE = MSGR_E(0x0016), MSGR_E_CONTACT_UI_ACTIVE = MSGR_E(0x0017), MSGR_E_PRIMARY_SERVICE_NOT_LOGGED_ON = MSGR_E(0x0018), MSGR_E_LOGGED_ON = MSGR_E(0x0019), MSGR_E_CONNECT_PROXY = MSGR_E(0x001A), MSGR_E_PROXY_AUTH = MSGR_E(0x001B), MSGR_E_PROXY_AUTH_TYPE = MSGR_E(0x001C), MSGR_E_INVALID_PROXY_NAME = MSGR_E(0x001D), MSGR_E_NOT_LOGGED_ON = MSGR_E(0x001E), MSGR_E_NOT_PRIMARY_SERVICE = MSGR_E(0x0020), MSGR_E_TOO_MANY_SESSIONS = MSGR_E(0x0021), MSGR_E_TOO_MANY_MESSAGES = MSGR_E(0x0022), MSGR_E_REMOTE_LOGIN = MSGR_E(0x0023), MSGR_E_INVALID_FRIENDLY_NAME = MSGR_E(0x0024), MSGR_E_SESSION_FULL = MSGR_E(0x0025), MSGR_E_NOT_ALLOWING_NEW_USERS = MSGR_E(0x0026), MSGR_E_INVALID_DOMAIN = MSGR_E(0x0027), MSGR_E_TCP_ERROR = MSGR_E(0x0028), MSGR_E_SESSION_TIMEOUT = MSGR_E(0x0029), MSGR_E_MULTIPOINT_SESSION_BEGIN_TIMEOUT = MSGR_E(0x002a), MSGR_E_MULTIPOINT_SESSION_END_TIMEOUT = MSGR_E(0x002b), MSGR_E_REVERSE_LIST_FULL = MSGR_E(0x002c), MSGR_E_SERVER_ERROR = MSGR_E(0x002d), MSGR_E_SYSTEM_CONFIG = MSGR_E(0x002e), MSGR_E_NO_DIRECTORY = MSGR_E(0x002f), MSGR_E_RETRY_SET = MSGR_E(0x0030), MSGR_E_CHILD_WITHOUT_CONSENT = MSGR_E(0x0031), MSGR_E_USER_CANCELLED = MSGR_E(0x0032), MSGR_E_CANCEL_BEFORE_CONNECT = MSGR_E(0x0033), MSGR_E_VOICE_IM_TIMEOUT = MSGR_E(0x0034), MSGR_E_NOT_ACCEPTING_PAGES = MSGR_E(0x0035), MSGR_E_EMAIL_PASSPORT_NOT_VALIDATED = MSGR_E(0x0036), MSGR_E_AUDIO_UI_ACTIVE = MSGR_E(0x0037), MSGR_E_NO_HARDWARE = MSGR_E(0x0038), MSGR_E_PAGING_UNAVAILABLE = MSGR_E(0x0039), MSGR_E_PHONE_INVALID_NUMBER = MSGR_E(0x003a), MSGR_E_PHONE_NO_FUNDS = MSGR_E(0x003b), MSGR_E_VOICE_NO_ANSWER = MSGR_E(0x003c), MSGR_E_VOICE_WAVEIN_DEVICE = MSGR_E(0x003d), MSGR_E_FT_TIMEOUT = MSGR_E(0x003e), MSGR_E_MESSAGE_TOO_LONG = MSGR_E(0x003f), MSGR_E_VOICE_FIREWALL = MSGR_E(0x0040), MSGR_E_VOICE_NETCONN = MSGR_E(0x0041), MSGR_E_PHONE_CIRCUITS_BUSY = MSGR_E(0x0042), MSGR_E_SERVER_PROTOCOL = MSGR_E(0x0043), MSGR_E_UNAVAILABLE_VIA_HTTP = MSGR_E(0x0044), MSGR_E_PHONE_INVALID_PIN = MSGR_E(0x0045), MSGR_E_PHONE_PINPROCEED_TIMEOUT = MSGR_E(0x0046), MSGR_E_SERVER_SHUTDOWN = MSGR_E(0x0047), MSGR_E_CLIENT_DISALLOWED = MSGR_E(0x0048), MSGR_E_PHONE_CALL_NOT_COMPLETE = MSGR_E(0x0049),
MSGR_S_ALREADY_IN_THE_MODE = MSGR_S(0x0001), MSGR_S_TRANSFER_SEND_BEGUN = MSGR_S(0x0002), MSGR_S_TRANSFER_SEND_FINISHED = MSGR_S(0x0003), MSGR_S_TRANSFER_RECEIVE_BEGUN = MSGR_S(0x0004), MSGR_S_TRANSFER_RECEIVE_FINISHED = MSGR_S(0x0005), MSGR_E_FAIL = E_FAIL, MSGR_S_OK = S_OK, } MSGRConstants;
typedef enum { SSTATE_DISCONNECTED = 0, SSTATE_CONNECTING = 1, SSTATE_CONNECTED = 2, SSTATE_DISCONNECTING = 3, SSTATE_ERROR = 4, } SSTATE;
typedef enum { MFOLDER_INBOX = 0, MFOLDER_ALL_OTHER_FOLDERS = 1, } MFOLDER;
// If you modify this enumeration, be sure to update loTable in blobject.cpp!! typedef enum { [helpstring("Proxy State")] MLOPT_PROXY_STATE = 0, [helpstring("Proxy Type")] MLOPT_PROXY_TYPE = 1, [helpstring("SOCKS4 Proxy Server")] MLOPT_SOCKS4_SERVER = 2, [helpstring("SOCKS5 Proxy Server")] MLOPT_SOCKS5_SERVER = 3, [helpstring("HTTPS Proxy Server")] MLOPT_HTTPS_SERVER = 4, [helpstring("SOCKS4 Port")] MLOPT_SOCKS4_PORT = 5, [helpstring("SOCKS5 Port")] MLOPT_SOCKS5_PORT = 6, [helpstring("HTTPS Port")] MLOPT_HTTPS_PORT = 7, [helpstring("SOCKS5 Username")] MLOPT_SOCKS5_USERNAME = 8, [helpstring("SOCKS5 Password")] MLOPT_SOCKS5_PASSWORD = 9, [helpstring("Server Name")] MLOPT_SERVER_NAME = 10, [helpstring("Enable Idle Detect")] MLOPT_ENABLE_IDLE_DETECT = 11, [helpstring("Idle Threshold")] MLOPT_IDLE_THRESHOLD = 12, [helpstring("Idle Detectable")] MLOPT_IDLE_DETECTABLE = 13, [helpstring("ScreenSaver Detectable")] MLOPT_SS_DETECTABLE = 14, [helpstring("HTTP Proxy Server")] MLOPT_HTTP_SERVER = 15, [helpstring("HTTP Proxy Port")] MLOPT_HTTP_PORT = 16, } MLOCALOPTION;
//If you change this, then change the g_szPropertyString[] and g_uUserPropPropertyStringID[] //arrays as well. You'll also need to check that the equivalents in basicim.idl are still //OK. typedef enum { MUSERPROP_INVALID_PROPERTY = -1, MUSERPROP_HOME_PHONE_NUMBER = 0, MUSERPROP_WORK_PHONE_NUMBER = 1, MUSERPROP_MOBILE_PHONE_NUMBER = 2, MUSERPROP_PAGES_ALLOWED = 3,
MUSERPROP_NUMBER_OF_PUBLIC_PROPERTIES = 4,
MUSERPROP_PAGES_ENABLED = 4, MUSERPROP_NUMBER_OF_PROPERTIES, } MUSERPROPERTY;
typedef enum { MLOPT_MAX_SERVICE_STRING = 255, MLOPT_MAX_PROXY_STRING = 255, MLOPT_MAX_PORT_NUMBER = 65535, MLOPT_MAX_IDLE_THRESHOLD = 999, } MLOCALOPTION_LIMITS;
typedef enum { [helpstring("Proxy Type: No proxy")] MPROXYTYPE_NO_PROXY = 0, [helpstring("Proxy Type: SOCKS 4")] MPROXYTYPE_SOCKS4 = 1, [helpstring("Proxy Type: SOCKS 5")] MPROXYTYPE_SOCKS5 = 2, [helpstring("Proxy Type: HTTPS")] MPROXYTYPE_HTTPS = 3, [helpstring("Proxy Type: HTTP")] MPROXYTYPE_HTTP = 4, } MPROXYTYPE;
// If you update this enumeration, be sure to fixup COptionsConnectionDlg::SetConnectionText typedef enum { MCONNECTIONTYPE_DISCONNECTED = 0, MCONNECTIONTYPE_DIRECT = 1, MCONNECTIONTYPE_BROWSER_PROXY = 2, MCONNECTIONTYPE_HTTP_PROXY = 3, MCONNECTIONTYPE_SOCKS_PROXY = 4, } MCONNECTIONTYPE;
typedef enum { MOPTDLG_GENERAL_PAGE = 0, MOPTDLG_PRIVACY_PAGE = 1, MOPTDLG_EXCHANGE_PAGE = 2, MOPTDLG_ACCOUNTS_PAGE = 3, MOPTDLG_CONNECTION_PAGE = 4, MOPTDLG_PHONE_PAGE = 5, } MOPTDLGPAGE;
typedef enum { MSF_PRIMARY = 0x00000001, // capable of being primary MSF_APP_INVITE = 0x00000002, // supports app invites MSF_MULTI_IM = 0x00000004, // supports multiway IM sessions MSF_BLOCKING = 0x00000008, // unused MSF_UNAME_IN_EMAIL_FMT = 0x00000010, // usernames look like e-mail names MSF_LOCAL_LISTS = 0x00000020, // lists are kept locally, not on server MSF_FIND_USER = 0x00000040, // supports FindUser MSF_INVITE_MAIL = 0x00000080, // can send invitation mail MSF_INTERNET = 0x00000100, // connects to server thru internet MSF_NO_ALLOW_LIST = 0x00000200 // no allow list supported } MSERVICE_FLAGS;
typedef enum { MFT_SAVE_PASSWORD= 0x00000000, MFT_DONT_SAVE_PASSWORD= 0x00000001, MFT_OVERWRITE_EXISTING= 0x00000002, } MFIRSTTIME_FLAGS;
typedef enum { MSS_LOGGED_ON = 0, MSS_NOT_LOGGED_ON = 1, MSS_LOGGING_ON = 2, MSS_LOGGING_OFF = 3 } MSVCSTATUS;
typedef enum { MFTF_SENDING = 0x00000004, MFTF_RECEIVING = 0x00000008, MFTF_CONNECTING = 0x00000010, MFTF_CONNECTED = 0x00000020, MFTF_DISCONNECTED = 0x00000040, } MFILETRANSFER_FLAGS;
//-------------------------------------------------------------------------- // IMessengerUA Interface [ uuid(F3A614DD-ABE0-11d2-A441-00C04F795683), // IID_IMessengerUA helpstring("Messenger UI Automation Interface"), helpcontext(0x0000), dual, oleautomation ] interface IMessengerUA : IDispatch { [propget, helpstring("Returns the application automation object."), helpcontext(0x0000)] HRESULT Application( [out, retval] IDispatch** ppDisp);
[propget, helpstring("Returns the automation object of the container/parent if one exists or this automation object."), helpcontext(0x0000)] HRESULT Parent( [out, retval] IDispatch** ppDisp);
[id(100), helpstring("Exits application."), helpcontext(0x0000)] HRESULT Quit();
[propget, helpstring("Returns name of the application."), helpcontext(0x0000)] HRESULT Name( [out, retval] BSTR* pbstrName);
[propget, helpstring("Returns file specification of the application, including path."), helpcontext(0x0000)] HRESULT FullName( [out, retval] BSTR* pbstrFullName);
[propget, helpstring("Returns the path to the application."), helpcontext(0x0000)] HRESULT Path( [out, retval] BSTR* pbstrPath);
// do we need success/failure result/event or use OnLogonResult event? [id(200), helpstring("Initiates Logon dialog."), helpcontext(0x0000)] HRESULT LaunchLogonUI();
[id(201), helpstring("Initiates Options dialog."), helpcontext(0x0000)] HRESULT LaunchOptionsUI( [in] MOPTDLGPAGE mOptDlgPage);
// do we need success/failure result/event or use OnListAddResult event [id(202), helpstring("Initiates Add Contact dialog."), helpcontext(0x0000)] HRESULT LaunchAddContactUI( [in] BSTR bstrEMail);
[id(203), helpstring("Initiates Find Contact Dialog."), helpcontext(0x0000)] HRESULT LaunchFindContactUI( [in] BSTR bstrFirstName, [in] BSTR bstrLastName, [in, optional] VARIANT vbstrCity, [in, optional] VARIANT vbstrState, [in, optional] VARIANT vbstrCountry);
[id(210), helpstring("Initiates IM Window."), helpcontext(0x0000)] HRESULT LaunchIMUI( [in] VARIANT vUser, [out, retval] IMessengerIMWindow** ppIMWindow);
[propget, helpstring("Collection of current IM Windows."), helpcontext(0x0000)] HRESULT IMWindows( [out, retval] IMessengerIMWindows** ppIMWindows);
[propget, helpstring("ToolBar visibility."), helpcontext(0x0000)] HRESULT ToolBar( [out, retval] VARIANT_BOOL* pBoolToolBar);
[propput] HRESULT ToolBar( [in] VARIANT_BOOL BoolToolBar);
[propget, helpstring("StatusBar visibility."), helpcontext(0x0000)] HRESULT StatusBar( [out, retval] VARIANT_BOOL* pBoolStatusBar);
[propput] HRESULT StatusBar( [in] VARIANT_BOOL BoolStatusBar);
[propget, helpstring("Text of StatusBar."), helpcontext(0x0000)] HRESULT StatusText( [out, retval] BSTR *pbstrStatusText);
[propput] HRESULT StatusText( [in] BSTR bstrStatusText);
[propget, helpstring("Returns the Handle of the Application window."), helpcontext(0x0000)] HRESULT HWND( [out, retval] long *phWnd);
[propget, helpstring("The horizontal position (pixels) of the Application window relative to the screen."), helpcontext(0x0000)] HRESULT Left( [out, retval] long *plLeft);
[propput] HRESULT Left( [in] long lLeft);
[propget, helpstring("The vertical position (pixels) of the Application window relative to the screen."), helpcontext(0x0000)] HRESULT Top( [out, retval] long *plTop);
[propput] HRESULT Top( [in] long lTop);
[propget, helpstring("The horizontal dimension (pixels) of the Application window."), helpcontext(0x0000)] HRESULT Width( [out, retval] long *plWidth);
[propput] HRESULT Width( [in] long lWidth);
[propget, helpstring("The vertical dimension (pixels) of the Application window."), helpcontext(0x0000)] HRESULT Height( [out, retval] long *plHeight);
[propput] HRESULT Height( [in] long lHeight);
[propget, helpstring("Visibility of the application."), helpcontext(0x0000)] HRESULT Visible( [out, retval] VARIANT_BOOL* pBoolVisible);
[propput] HRESULT Visible( [in] VARIANT_BOOL BoolVisible);
[id(222), helpstring("Initiates a Logon without UI if connected to the network and user saved the password."), helpcontext(0x0000)] HRESULT AutoLogon();
[id(225), helpstring("Initiates Phone Window."), helpcontext(0x0000)] HRESULT LaunchPhoneUI( [in] VARIANT vUser, [in] MUSERPROPERTY ePhoneNumber);
[id(226), helpstring("Launches the audio tuning wizard."), helpcontext(0x0000)] HRESULT LaunchAudioTuningWizard( [in] long hwndParent);
[id(227), helpstring("Initiates Pager IM Window."), helpcontext(0x0000)] HRESULT LaunchPagerUI( [in] VARIANT vUser, [out, retval] IMessengerIMWindow** ppIMWindow);
[propget, helpstring("Returns the Contact list.")] HRESULT ContactList([out, retval] IMessengerContacts** ppMContacts);
[propget, helpstring("Logon name.")] HRESULT LocalLogonName([out, retval] BSTR* pbstrName);
[propput, helpstring("Local state.")] HRESULT LocalState([in] MSTATE mState);
[propget] HRESULT LocalState([out, retval] MSTATE* pmState);
}
//-------------------------------------------------------------------------- // DMessengerUAEvents Interface [ uuid(59EC0341-7506-11d2-B05F-00C04F7F89FE), // DIID_DMessengerUAEvents helpstring("Messenger Events for OE Private Interface"), hidden ] dispinterface DMessengerUAEvents { properties: methods: [id(DISPID_ONLOGONRESULT), helpstring("Logon attempt complete.")] void OnLogonResult([in] long hr); [id(DISPID_ONLOGOFF), helpstring("Logoff complete.")] void OnLogoff();
[id(DISPID_ONLISTADDRESULT), helpstring("Result from list add request.")] void OnContactListAddResult([in] long hr, [in] IMessengerContact* pMContact); [id(DISPID_ONLISTREMOVERESULT), helpstring("Result from list remove request.")] void OnContactListRemoveResult([in] long hr, [in] IMessengerContact* pMContact); [id(DISPID_ONUSERFRIENDLYNAMECHANGERESULT), helpstring("Result from name change request.")] void OnUserFriendlyNameChangeResult([in] long hr, [in] IMessengerContact* pMContact, [in] BSTR bstrPrevFriendlyName);
[id(DISPID_ONUSERSTATECHANGED), helpstring("User state changed.")] void OnUserStateChanged([in] IMessengerContact* pMContact, [in] MSTATE mPrevStateOE);
[id(DISPID_ONLOCALSTATECHANGERESULT), helpstring("Result from local state request.")] void OnLocalStateChangeResult([in] long hr, [in] MSTATE mLocalStateOE);
[id(DISPID_ONAPPSHUTDOWN), helpstring("Messenger is shutting down."), helpcontext(0x0000)] void OnAppShutdown(); }
//-------------------------------------------------------------------------- // IMessengerIMWindow Interface [ uuid(35EDD1CD-1A8C-11d2-B49D-00C04FB90376), // IID_IMessengerIMWindow helpstring("Messenger IM Window Interface"), helpcontext(0x0000), dual, oleautomation ] interface IMessengerIMWindow : IDispatch { [propget, helpstring("Returns the application automation object if accessible, this automation object otherwise."), helpcontext(0x0000)] HRESULT Application( [out, retval] IDispatch** ppDisp);
[propget, helpstring("Returns the automation object of the container/parent if one exists or this automation object."), helpcontext(0x0000)] HRESULT Parent( [out, retval] IDispatch** ppDisp);
[propget, helpstring("Current history in the window."), helpcontext(0x0000)] HRESULT History( [out, retval] BSTR* pbstrHistory);
[id(300), helpstring("Sends a text message through the IM window."), helpcontext(0x0000)] HRESULT SendText( [in] BSTR bstrSendText);
[id(301), helpstring("Closes the IM window."), helpcontext(0x0000)] HRESULT Close();
[propget, helpstring("ToolBar visibility."), helpcontext(0x0000)] HRESULT ToolBar( [out, retval] VARIANT_BOOL* pBoolToolBar);
[propput] HRESULT ToolBar( [in] VARIANT_BOOL BoolToolBar);
[propget, helpstring("StatusBar visibility."), helpcontext(0x0000)] HRESULT StatusBar( [out, retval] VARIANT_BOOL* pBoolStatusBar);
[propput] HRESULT StatusBar( [in] VARIANT_BOOL BoolStatusBar);
[propget, helpstring("Text of StatusBar."), helpcontext(0x0000)] HRESULT StatusText( [out, retval] BSTR *pbstrStatusText);
[propput] HRESULT StatusText( [in] BSTR bstrStatusText);
[propget, helpstring("Returns the Handle of the IM window."), helpcontext(0x0000)] HRESULT HWND( [out, retval] long *phWnd);
[propget, helpstring("The horizontal position (pixels) of the IM window relative to the screen."), helpcontext(0x0000)] HRESULT Left( [out, retval] long *plLeft);
[propput] HRESULT Left( [in] long lLeft);
[propget, helpstring("The vertical position (pixels) of the IM window relative to the screen."), helpcontext(0x0000)] HRESULT Top( [out, retval] long *plTop);
[propput] HRESULT Top( [in] long lTop);
[propget, helpstring("The horizontal dimension (pixels) of the IM window."), helpcontext(0x0000)] HRESULT Width( [out, retval] long *plWidth);
[propput] HRESULT Width( [in] long lWidth);
[propget, helpstring("The vertical dimension (pixels) of the IM window."), helpcontext(0x0000)] HRESULT Height( [out, retval] long *plHeight);
[propput] HRESULT Height( [in] long lHeight);
[propget, helpstring("Visibility of the window."), helpcontext(0x0000)] HRESULT Visible( [out, retval] VARIANT_BOOL* pBoolVisible);
[propput] HRESULT Visible( [in] VARIANT_BOOL BoolVisible);
[propget, helpstring("Returns a collection object of current recipients in the IM Window."), helpcontext(0x0000)] HRESULT Members( [out, retval] IMessengerContacts** ppUsers); }
//-------------------------------------------------------------------------- // IMessengerIMWindows Interface [ uuid(35EDD1CC-1A8C-11d2-B49D-00C04FB90376), // IID_IMessengerIMWindows helpstring("Messenger IM Windows Collection Interface"), helpcontext(0x0000), dual, oleautomation ] interface IMessengerIMWindows : IDispatch { [propget, helpstring("Number of IM Windows."), helpcontext(0x0000)] HRESULT Count( [out, retval] long* pcWindows);
[id(DISPID_VALUE), helpstring("Retrieves a specific IM Window by index."), helpcontext(0x0000)] HRESULT Item( [in] long Index, [out, retval] IMessengerIMWindow** ppIMWindow);
[propget, restricted, id(DISPID_NEWENUM), helpstring("Enumerates the IM Windows."), helpcontext(0x0000)] HRESULT _NewEnum( [out, retval] IUnknown **ppUnknown); }
//-------------------------------------------------------------------------- // IMessengerContact Interface [ uuid(59EC0342-7506-11d2-B05F-00C04F7F89FE), // IID_IMessengerContact helpstring("Messenger User for OE Private Interface"), hidden, oleautomation ] interface IMessengerContact : IUnknown { [propget] HRESULT FriendlyName([out, retval] BSTR* pbstrFriendlyName); [propget, helpstring("State of the user.")] HRESULT State([out, retval] MSTATE* pMstate); [propget, helpstring("Logon Name of the user.")] HRESULT LogonName([out, retval] BSTR* pbstrLogonName);
[propget] HRESULT Property( [in] MUSERPROPERTY ePropType, [out, retval] VARIANT *pvPropVal); }
//-------------------------------------------------------------------------- // IMessengerContacts Interface [ uuid(59EC0343-7506-11d2-B05F-00C04F7F89FE), // IID_IMessengerContacts helpstring("Messenger Users Collection for IBasicIM"), hidden, oleautomation ] interface IMessengerContacts : IUnknown { [propget, helpstring("Number of users.")] HRESULT Count([out, retval] long* pcUsers);
[id(DISPID_VALUE), helpstring("Retrieves a specific user by index.")] HRESULT Item([in] long Index, [out, retval] IMessengerContact** ppMContact);
[id(100), helpstring("Adds a user object to the collection.")] HRESULT Add([in] IMessengerContact* pMContact); [id(101), helpstring("Removes a user object from the collection.")] HRESULT Remove([in] IMessengerContact* pMContact);
[propget, restricted, id(DISPID_NEWENUM), helpstring("Enumerates the users.")] HRESULT _NewEnum([out, retval] IUnknown **ppUnknown); }
[ uuid(FB7199AB-79BF-11d2-8D94-0000F875C541), // CLSID_MessengerUIAutomation helpstring("Messenger UI Automation"), appobject ] coclass MessengerUIAutomation { [default] interface IMessengerUA; [source, default] dispinterface DMessengerUAEvents; }; };
// end
|