📄 voipstore.idl
字号:
//
// 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 + -