Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

180 lines
4.5 KiB

//+---------------------------------------------------------------------------
//
// Copyright 1995 - 1997 Microsoft Corporation. All Rights Reserved.
//
// Contents: Cb32 Protocol Core
//
//----------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.")
cpp_quote("//")
cpp_quote("// File: icbcore.h")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
import "objidl.idl";
import "oleidl.idl";
import "oaidl.idl";
import "imsconf2.idl";
interface ICb32Core;
interface ICb32CoreNotify;
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("//")
cpp_quote("// Constants")
cpp_quote("enum {")
cpp_quote(" CB32OP_CLOSEAPP = 0,")
cpp_quote(" CB32OP_SHOWUI = 1")
cpp_quote("};")
cpp_quote("")
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Return Codes")
cpp_quote("")
cpp_quote("#define NMCB_S(e) (0x01000300UL | (ULONG) (e))")
cpp_quote("#define NMCB_E(e) (0x81000300UL | (ULONG) (e))")
cpp_quote("")
cpp_quote("enum {")
cpp_quote("")
cpp_quote("// Cb32core specific return codes")
cpp_quote("//")
cpp_quote(" NMCB_S_CANTSENDYET = NMCB_S((ULONG) 0x0001),")
cpp_quote(" NMCB_S_CLOSEAPP = NMCB_S((ULONG) 0x0002),")
cpp_quote(" NMCB_S_LASTCODE = NMCB_E((ULONG) 0x00FF)")
cpp_quote("};")
cpp_quote("")
cpp_quote("enum {")
cpp_quote("")
cpp_quote("// Cb32core specific error return codes")
cpp_quote("//")
cpp_quote(" NMCB_E_NOTINITIALIZED = NMCB_E((ULONG) 0x0001),")
cpp_quote(" NMCB_E_NOTCHATTING = NMCB_E((ULONG) 0x0002),")
cpp_quote(" NMCB_E_UNKNOWNSENDER = NMCB_E((ULONG) 0x0003),")
cpp_quote(" NMCB_E_PARTIALMSG = NMCB_E((ULONG) 0x0004),")
cpp_quote(" NMCB_E_CANTWHISPER = NMCB_E((ULONG) 0x0005),")
cpp_quote(" NMCB_E_CANTWHISPERNM1 = NMCB_E((ULONG) 0x0006),")
cpp_quote(" NMCB_E_LASTCODE = NMCB_E((ULONG) 0x00FF)")
cpp_quote("};")
cpp_quote("")
//////////////////////////////////////////////////////////////////////////////////
// GUID usage:
// {C7047720-CABE-11d0-A041-444553540000}-{C704772F-CABE-11d0-A041-444553540000}
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Interface Definitions")
//--------------------------------------------------------------------------
// ICb32Core Interface
[
object,
uuid(C7047721-CABE-11d0-A041-444553540000),
pointer_default(unique)
]
interface ICb32Core : IUnknown
{
typedef [unique] ICb32Core *LPCB32CORE;
HRESULT Init( [in] TCHAR *pszCommandLine );
HRESULT SetNotify( [in] IUnknown *pNotify );
HRESULT StartChat( [in] HWND hMainWnd,
[out] INmSysInfo **ppSysInfo );
HRESULT DeInit( void );
HRESULT SendMessageData( [in] INmMember *pMember,
[in] ULONG uBuffer,
[in, size_is(uBuffer)] byte *pBuffer,
[in] ULONG uCChatBuffer,
[in, size_is(uCChatBuffer)] byte *pCChatBuffer );
HRESULT OnIdle( void );
}
//--------------------------------------------------------------------------
// ICb32CoreNotify Interface
[
object,
uuid(C7047722-CABE-11d0-A041-444553540000),
pointer_default(unique)
]
interface ICb32CoreNotify : IUnknown
{
typedef [unique] ICb32CoreNotify *LPCB32CORENOTIFY;
HRESULT ChatStatus( [in] BOOL bInProgress );
HRESULT ReceivedMessage( [in] BOOL bEcho,
[in] TCHAR *pszMemberName,
[in] INmMember *pMember,
[in] TCHAR *pszWhisperedToName,
[in] INmMember *pWhisperedTo,
[in] ULONG uBuffer,
[in, size_is(uBuffer)] byte *pBuffer,
[in] ULONG uCChatBuffer,
[in, size_is(uCChatBuffer)] byte *pCChatBuffer,
[in] HRESULT hr );
HRESULT MemberJoinedConference( [in] INmMember *pMember,
[in] HRESULT hr );
HRESULT MemberLeftConference( [in] INmMember *pMember );
HRESULT MemberJoinedChat( [in] INmMember *pMember );
HRESULT MemberLeftChat( [in] INmMember *pMember );
HRESULT SpecialOps( [in] DWORD dwSpecial );
}
[
uuid(C704772F-CABE-11d0-A041-444553540000),
version(1.0),
helpstring("Cb32Core Type Library")
]
library Cb32Core
{
[
uuid(C7047720-CABE-11d0-A041-444553540000),
helpstring("Cb32 Protocol Core ")
]
coclass Cb32Core
{
[default] interface ICb32Core;
};
};