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

📄 voipstore.idl

📁 一个WinCE6。0下的IP phone的源代码
💻 IDL
📖 第 1 页 / 共 2 页
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
// voipstore.idl : IDL source for VoIP.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (VoIP.tlb) and marshalling code.

// This is the default speed dial entry for a VoIPCallerInfoRecord.
enum 
{
    VOIP_INVALID_SPEED_DIAL_ENTRY = -1,
};

typedef enum VoIPCallType
{
    e_vctInvalid = 0,
    e_vctIncoming, 
    e_vctOutgoing, 
    e_vctMissed, 
} VoIPCallType;

interface IVoIPCallerInfoDBEnum;
interface IVoIPCallLogDBEnum;

import "voipstoreerrorcodes.h";
import "oaidl.idl";
import "ocidl.idl";
    /*------------------------------------------------------------------------------
        IVoIPCallRecord
        
        Interface wrapper for a call log database's call record.
    ------------------------------------------------------------------------------*/
    [
        object,
        uuid(AAC6F8C9-69AA-4C06-852E-BCBDA7FB77D5),
        helpstring("IVoIPCallRecord Interface"),
        pointer_default(unique)
    ] 
    interface IVoIPCallRecord : IUnknown
    {
        /*------------------------------------------------------------------------------
            URI
        ------------------------------------------------------------------------------*/
        // Sets the URI for the recipient of this call.
        HRESULT put_URI(
            [in]BSTR bstrURI
            );

        // Gets the URI for the recipient of this call.
        HRESULT get_URI(
            [out, retval]BSTR *pbstrURI
            );

        /*------------------------------------------------------------------------------
            FriendlyName
        ------------------------------------------------------------------------------*/
        // Sets the friendly name for the recipient of this call.
        HRESULT put_FriendlyName(
            [in]BSTR bstrFriendlyName
            );

        // Gets the friendly name for the recipient of this call.
        HRESULT get_FriendlyName(
            [out, retval]BSTR *pbstrFriendlyName
            );

        /*------------------------------------------------------------------------------
            VoIPName
        ------------------------------------------------------------------------------*/
        // Sets the VoIP (RTC) name for the recipient of this call.
        HRESULT put_VoIPName(
            [in]BSTR bstrVoIPName
            );

        // Gets the VoIP (RTC) name for the recipient of this call.
        HRESULT get_VoIPName(
            [out, retval]BSTR *pbstrVoIPName
            );

        /*------------------------------------------------------------------------------
            CallType
        ------------------------------------------------------------------------------*/
        // Sets the call type of this call.
        HRESULT put_CallType(
            [in]VoIPCallType vctType
            );

        // Gets the call type of this call.
        HRESULT get_CallType(
            [out, retval]VoIPCallType *pvctType
            );

        /*------------------------------------------------------------------------------
            StartTime
        ------------------------------------------------------------------------------*/
        // Sets the time this call started.
        HRESULT put_StartTime(
            [in]SYSTEMTIME time
            );

        // Gets the time this call started.
        HRESULT get_StartTime(
            [out, retval]SYSTEMTIME *ptime
            );

        /*------------------------------------------------------------------------------
            EndTime
        ------------------------------------------------------------------------------*/
        // Sets the time this call ended.
        HRESULT put_EndTime(
            [in]SYSTEMTIME time
            );

        // Gets the time this call ended.
        HRESULT get_EndTime(
            [out, retval]SYSTEMTIME *ptime
            );

        /*------------------------------------------------------------------------------
            Duration
        ------------------------------------------------------------------------------*/
       // Gets the current duration of this call.
        HRESULT get_Duration(
            [in]SYSTEMTIME *ptime
            );

        /*------------------------------------------------------------------------------
            Commit
        ------------------------------------------------------------------------------*/
        // Commits to the associated database any unsaved changes made to this record.
        HRESULT Commit();

        /*------------------------------------------------------------------------------
            DeleteFromDB
        ------------------------------------------------------------------------------*/
        // Removes this record from the associated database.
        HRESULT DeleteFromDB();
    };
    
    /*------------------------------------------------------------------------------
        IVoIPCallLogDB
        
        Interface wrapper for a call log database.
    ------------------------------------------------------------------------------*/
    [
        object,
        uuid(C1098634-9F60-4E94-BF0C-844A3D6F695B),
        helpstring("IVoIPCallLogDB Interface"),
        pointer_default(unique)
    ]
    interface IVoIPCallLogDB : IUnknown
    {
        /*------------------------------------------------------------------------------
            Init
        ------------------------------------------------------------------------------*/
        // Initializes the databases for the specified URI.
        HRESULT Init(
            [in]BSTR bstrURI
            );

        /*------------------------------------------------------------------------------
            CreateRecord
        ------------------------------------------------------------------------------*/
        // Creates a new call log record for the specified database.
        HRESULT CreateRecord(
            [in]VoIPCallType vct, 
            [out, retval]IVoIPCallRecord **ppiRecord
            );

        /*------------------------------------------------------------------------------
            Capacity
        ------------------------------------------------------------------------------*/
        // Sets the capacity of each database.
        HRESULT put_Capacity(
            [in]int cRecords
            );

        // Gets the capacity of each database.
        HRESULT get_Capacity(
            [out, retval]int *cRecords
            );

        /*------------------------------------------------------------------------------
            IncomingEnumerator
        ------------------------------------------------------------------------------*/
        // Gets an enumerator for the incoming call database.
        HRESULT get_IncomingEnumerator(
            [out, retval]IVoIPCallLogDBEnum **ppiEnum
            );

        /*------------------------------------------------------------------------------
            OutgoingEnumerator
        ------------------------------------------------------------------------------*/
        // Gets an enumerator for the outgoing call database.
        HRESULT get_OutgoingEnumerator(
            [out, retval]IVoIPCallLogDBEnum  **ppiEnum
            );

        /*------------------------------------------------------------------------------
            MissedEnumerator
        ------------------------------------------------------------------------------*/
        // Gets an enumerator for the missed call database.
        HRESULT get_MissedEnumerator(
            [out, retval]IVoIPCallLogDBEnum **ppiEnum
            );

    };
    [ 
        object,
        uuid(25904F27-5B67-4829-837A-470C11975F75),
        helpstring("IVoIPCallLogDBEnum Interface"),
        pointer_default(unique)
    ]
    interface IVoIPCallLogDBEnum : IUnknown
    {
        HRESULT     Reset();
        
        HRESULT     Skip(
            [in]unsigned long celt
            );
        
        HRESULT     Next(
            [in] unsigned long celt, 
            [out] IVoIPCallRecord **rgVoIPCallRecord, 
            [out, retval] unsigned long *pceltFetched
            );
    
    };

    /*------------------------------------------------------------------------------
        IVoIPCallerInfoRecord
        
        Interface wrapper for a caller info database's info record.
    ------------------------------------------------------------------------------*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -