windows-nt/Source/XPSP1/NT/enduser/netmeeting/h/sdkinternal.idl
2020-09-26 16:20:57 +08:00

417 lines
11 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import "imsconf3.idl";
typedef enum tagNmGkState
{
NM_GK_INVALID,
NM_GK_NOT_IN_GK_MODE,
NM_GK_IDLE,
NM_GK_LOGGING_ON,
NM_GK_LOGGED_ON
} NM_GK_STATE;
typedef enum tagNmStreamEvent{
NM_STREAMEVENT_DEVICE_OPENED = 0,
NM_STREAMEVENT_DEVICE_FAILURE = 1,
NM_STREAMEVENT_DEVICE_CLOSED
} NM_STREAMEVENT;
typedef enum tagNmSysOpt{
NM_SYSOPT_LOGGED_ON = 69,
NM_SYSOPT_BANDWIDTH = 70,
NM_SYSOPT_CAPTURE_DEVICE = 71,
NM_SYSOPT_DIRECTSOUND = 72,
NM_SYSOPT_FULLDUPLEX = 73,
} NM_SYSOPT;
typedef enum tagNmGkNotifyCode
{
NM_GKNC_INVALID = 0,
NM_GKNC_LOGON_TIMEOUT = 1,
NM_GKNC_REG_CONFIRM = 2,
NM_GKNC_UNREG_CONFIRM = 3,
NM_GKNC_REJECTED = 4,
NM_GKNC_UNREG_REQ = 5
} NM_GK_NOTIFY_CODE;
cpp_quote("#define NMCH_SRVC 0x00000040")
cpp_quote("#define NM_INIT_OBJECT 0x00000004")
// Internal extensions to the NM_ADDR_TYPE
cpp_quote("#define NM_ADDR_ALIAS_ID ((NM_ADDR_TYPE)8)")
cpp_quote("#define NM_ADDR_ALIAS_E164 ((NM_ADDR_TYPE)9)")
// Internal extensions to the NM_AUDPROP
cpp_quote("#define NM_AUDPROP_FULL_DUPLEX ((NM_AUDPROP)3)")
cpp_quote("#define NM_AUDPROP_WAVE_DEVICE ((NM_AUDPROP)4)")
cpp_quote("#define NM_AUDPROP_AUTOMIX ((NM_AUDPROP)5)")
cpp_quote("#define NM_AUDPROP_DTMF_DIGIT ((NM_AUDPROP)6)")
// Internal extensions to the NM_VIDPROP
cpp_quote("#define NM_VIDPROP_SUSPEND_CAPTURE ((NM_VIDPROP)10)")
cpp_quote("#define NM_VIDPROP_IMAGE_SIZES ((NM_VIDPROP)11)")
cpp_quote("#define NM_VIDPROP_FRAME ((NM_VIDPROP)12)")
cpp_quote("#define NM_VIDPROP_NUM_CAPTURE_DEVS ((NM_VIDPROP)13)")
cpp_quote("#define NM_VIDPROP_CAPTURE_DEV_ID ((NM_VIDPROP)14)")
cpp_quote("#define NM_VIDPROP_MAX_CAPTURE_NAME ((NM_VIDPROP)15)")
cpp_quote("#define NM_VIDPROP_CAPTURE_LIST ((NM_VIDPROP)16)")
// Internal extensions to the NM_SYSPROP
cpp_quote("#define NM_SYSPROP_SHARING_MSG ((NM_SYSPROP)61)")
cpp_quote("#define NM_SYSPROP_ICA_ENABLE ((NM_SYSPROP)60)")
cpp_quote("#define NM_SYSPROP_WB_HELPFILE ((NM_SYSPROP)81)")
cpp_quote("#define NM_SYSPROP_CB_HELPFILE ((NM_SYSPROP)82)")
cpp_quote("#define CONFN_FT_FAILED ((CONFN)0x000217)")
cpp_quote("#define CONFN_FT_MULT_CANCELED ((CONFN)0x000218)")
cpp_quote("#define CONFN_FT_REJECTED ((CONFN)0x000219)")
cpp_quote("#define CONFN_FT_RECDIR ((CONFN)0x00021A)")
//--------------------------------------------------------------------------
// INmManager2 Interface
[
object,
uuid(068B0801-718C-11d0-8B1A-00A0C91BC90E),
pointer_default(unique)
]
interface INmManager2 : INmManager
{
HRESULT GetPreviewChannel(
[out] INmChannelVideo **ppChannelVideo);
//
// BOGUS BOGUS BOGUS -- For RDS service since it is put into system
// directory.
//
HRESULT CreateASObject(
[in] IUnknown * pASNotify,
[in] ULONG flags,
[out] IUnknown ** ppAS);
HRESULT AllowH323(
[in] BOOL fAllowH323);
HRESULT CallEx(
[out] INmCall **ppCall, // Can be NULL
[in] DWORD dwFlags,
[in] NM_ADDR_TYPE addrType,
[in] BSTR bstrName,
[in] BSTR bstrSetup,
[in] BSTR bstrDest,
[in] BSTR bstrAlias,
[in] BSTR bstrURL,
[in] BSTR bstrConference,
[in] BSTR bstrPassword,
[in] BSTR bstrUserData);
HRESULT CreateConferenceEx(
[out] INmConference **ppConference, // Can be NULL
[in] BSTR bstrName,
[in] BSTR bstrPassword,
[in] DWORD dwTypeFlags,
[in] DWORD attendeePermissions,
[in] DWORD maxParticipants);
}
//--------------------------------------------------------------------------
// INmSysInfo2 Interface
[
object,
uuid(068B0803-718C-11d0-8B1A-00A0C91BC90E),
pointer_default(unique)
]
interface INmSysInfo2 : INmSysInfo
{
HRESULT GetOption(
[in] NM_SYSOPT uOption,
[out] ULONG * plValue);
HRESULT SetOption(
[in] NM_SYSOPT uOption,
[in] ULONG plValue);
HRESULT ProcessSecurityData(
[in] DWORD dwTaskCode,
[in] DWORD_PTR dwParam1,
[in] DWORD_PTR dwParam2,
[out] DWORD * pdwResult);
HRESULT GkLogon(
[in] BSTR bstrAddr,
[in] BSTR bstrAliasID,
[in] BSTR bstrAliasE164);
HRESULT GkLogoff();
HRESULT GkState(
[out] NM_GK_STATE* plState);
}
//--------------------------------------------------------------------------
// INmSysInfoNotify Interface
[
object,
uuid(AF9A9EAF-41BC-11d2-930E-0000F875AE17),
pointer_default(unique)
]
interface INmSysInfoNotify : IUnknown
{
HRESULT GateKeeperNotify( [in] NM_GK_NOTIFY_CODE GkEvent );
}
//--------------------------------------------------------------------------
// INmCallNotify2 Interface
[
object,
uuid(068B0805-718C-11d0-8B1A-00A0C91BC90E),
pointer_default(unique)
]
interface INmCallNotify2 : INmCallNotify
{
HRESULT CallError(
[in] UINT cns);
HRESULT RemoteConference(
[in] BOOL fMCU,
[in] BSTR *pwszConfNames,
[in, out] BSTR *pbstrConfToJoin);
HRESULT RemotePassword(
[in] BSTR bstrConference,
[in, out] BSTR *pbstrPassword,
[in] BYTE *pb,
[in] DWORD cb,
[in] BOOL fIsService);
}
//--------------------------------------------------------------------------
// INmConference2 Interface
[
object,
uuid(068B0810-718C-11d0-8B1A-00A0C91BC90E),
pointer_default(unique)
]
interface INmConference2 : INmConference
{
HRESULT DisconnectAV(
[in] INmMember *pMember);
HRESULT ConnectAV(
[in] INmMember *pMember);
HRESULT GetConferenceHandle(
[out] HANDLE_PTR *pdwHandle);
HRESULT CreateDataChannelEx(
[out] INmChannelData **ppChannel,
[in] REFGUID rguid,
[in] BYTE * pER);
}
// INmConferenceNotify2 Interface
// same as above interface but also provides stream event notifications
[
object,
uuid(711ec740-6867-11d2-a9a8-00c04fd91a6f),
pointer_default(unique)
]
interface INmConferenceNotify2 : INmConferenceNotify
{
HRESULT StreamEvent(
[in] NM_STREAMEVENT uEvent,
[in] UINT uSubCode,
[in] INmChannel *pChannel);
}
//--------------------------------------------------------------------------
// INmChannelData2 Interface
[
object,
uuid(068B0822-718C-11d0-8B1A-00A0C91BC90E),
pointer_default(unique)
]
interface INmChannelData2 : INmChannelData
{
HRESULT RegistryAllocateHandle(
[in] ULONG numberOfHandlesRequested);
}
//--------------------------------------------------------------------------
// INmChannelDataNotify2 Interface
[
object,
uuid(068B0823-718C-11d0-8B1A-00A0C91BC90E),
pointer_default(unique)
]
interface INmChannelDataNotify2 : INmChannelDataNotify
{
HRESULT AllocateHandleConfirm(
[in] ULONG handle_value,
[in] ULONG chandles);
}
//--------------------------------------------------------------------------
// IInternalFtObj
[
object,
uuid(053BBEFB-B3BA-11d2-9358-0000F875AE17),
pointer_default(unique)
]
interface IInternalFtObj : IUnknown
{
HRESULT GetHEvent(UINT *phEvent);
HRESULT OnFileProgress(UINT hFile, ULONG lFileSize, ULONG lBytesTransmitted);
HRESULT FileTransferDone();
HRESULT OnError();
}
//--------------------------------------------------------------------------
// IInternalMemberObj
[
object,
uuid(6EC88CF8-A41B-11d2-9349-0000F875AE17),
pointer_default(unique)
]
interface IInternalMemberObj : IUnknown
{
HRESULT GetInternalINmMember([out] INmMember** ppMember);
}
//--------------------------------------------------------------------------
// IInternalSysInfoObj
[
object,
uuid(34871E81-D33A-11d2-92C7-00C04F68D5AE),
pointer_default(unique)
]
interface IInternalSysInfoObj : IUnknown
{
HRESULT SetID([in] DWORD ID);
}
//--------------------------------------------------------------------------
// IInternalConfExe
[
object,
uuid(97799F9C-A969-11d2-9355-0000F875AE17),
pointer_default(unique)
]
interface IInternalConfExe : IUnknown
{
HRESULT LoggedIn();
HRESULT IsRunning();
HRESULT InConference();
HRESULT LDAPLogon([in] BOOL bLogon);
HRESULT GetLocalCaps([out] DWORD* pdwLocalCaps);
HRESULT IsNetMeetingRunning();
HRESULT GetActiveConference([out] INmConference** ppConf);
HRESULT ShellCalltoProtocolHandler([in] BSTR url, [in] BOOL bStrict);
HRESULT Launch();
HRESULT LaunchApplet([in] NM_APPID appid, [in,ptr] BSTR strCmdLine);
HRESULT GetUserData([in] REFGUID rguid, [out, size_is(,*pcb)] BYTE **ppb, [out] ULONG *pcb);
HRESULT SetUserData([in] REFGUID rguid, [in, size_is(cb)] BYTE *pb, [in] ULONG cb);
HRESULT SetSysInfoID([in] DWORD dwID);
HRESULT DisableH323([in] BOOL bDisableH323);
HRESULT DisableInitialILSLogon([in] BOOL bDisableH323);
HRESULT SetCallerIsRTC([in] BOOL bCallerIsRTC);
}
//--------------------------------------------------------------------------
// IInternalConferenceObj
[
object,
uuid(507708C5-A74A-11d2-9351-0000F875AE17),
pointer_default(unique)
]
interface IInternalConferenceObj : IUnknown
{
HRESULT GetInternalINmConference([out] INmConference** ppConference);
HRESULT GetMemberFromNodeID([in] DWORD dwNodeID, [out] INmMember** ppMember);
HRESULT RemoveAllMembersAndChannels();
HRESULT AppSharingStateChanged([in] BOOL bActive);
HRESULT SharableAppStateChanged([in] HWND hWnd, [in] NM_SHAPP_STATE state);
HRESULT ASLocalMemberChanged();
HRESULT ASMemberChanged([in] UINT gccID);
HRESULT FireNotificationsToSyncState();
HRESULT AppSharingChannelChanged();
HRESULT FireNotificationsToSyncToInternalObject();
HRESULT EnsureFTChannel();
HRESULT AudioChannelActiveState(BOOL bActive, BOOL bIsIncoming);
HRESULT VideoChannelActiveState(BOOL bActive, BOOL bIsIncoming);
HRESULT VideoChannelPropChanged(DWORD dwProp, BOOL bIsIncoming);
HRESULT VideoChannelStateChanged(NM_VIDEO_STATE uState, BOOL bIsIncoming);
}
//--------------------------------------------------------------------------
// IInternalChannelObj
[
object,
uuid(43DB3A8E-A440-11d2-934A-0000F875AE17),
pointer_default(unique)
]
interface IInternalChannelObj : IUnknown
{
HRESULT GetInternalINmChannel([out] INmChannel** ppChannel);
HRESULT ChannelRemoved();
HRESULT NotifySinksOfLocalMember();
HRESULT NotifySinksOfAllMembers();
HRESULT Activate([in] BOOL bActive);
HRESULT SDKMemberChanged([in] INmMember* pSDKMember);
HRESULT SDKMemberAdded([in] INmMember* pSDKMember);
HRESULT SDKMemberRemoved([in] INmMember* pSDKMember);
HRESULT FireNotificationsToSyncState();
}
//--------------------------------------------------------------------------
// IInternalCall
[
object,
uuid(57E03C63-A719-11d2-9351-0000F875AE17),
pointer_default(unique)
]
interface IInternalCallObj : IUnknown
{
HRESULT GetInternalINmCall([out] INmCall** ppCall);
}
[
uuid(507708CA-A74A-11d2-9351-0000F875AE17),
version(1.0),
helpstring("NetMeeting Internal SDK Type Library")
]
library SDKInternal
{
[
uuid(507708CC-A74A-11d2-9351-0000F875AE17),
helpstring("NmSysInfo object")
]
coclass NmSysInfo
{
[default] interface INmSysInfo;
};
[
uuid(068B0800-718C-11d0-8B1A-00A0C91BC90E),
helpstring("NetMeeting Manager v2")
]
coclass NmManager2
{
[default] interface INmManager2;
};
};