📄 imsconf2.idl
字号:
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
[
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -