⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imsconf2.idl

📁 通信增值服务,上网接听电话
💻 IDL
📖 第 1 页 / 共 3 页
字号:
    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 + -