Leaked source code of windows server 2003
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.
 
 
 
 
 
 

417 lines
12 KiB

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