亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rvthreadinstance.h

?? 基于h323協(xié)議的軟phone
?? H
字號:
/***********************************************************************
Copyright (c) 2002 RADVISION Ltd.
************************************************************************
NOTICE:
This document contains information that is confidential and proprietary
to RADVISION Ltd.. No part of this document may be reproduced in any
form whatsoever without written prior approval by RADVISION Ltd..
RADVISION Ltd. reserve the right to revise this publication and make
changes without obligation to notify any person of such revisions or
changes.
***********************************************************************/

/**************************************************************************
 *
 * This module is responsible for manipulation of singleton objects that
 * have to be allocated per thread.
 * This includes the timers and select engine.
 *
 **************************************************************************/

#ifndef _RV_THREAD_INSTANCE_H
#define _RV_THREAD_INSTANCE_H

/*-----------------------------------------------------------------------*/
/*                        INCLUDE HEADER FILES                           */
/*-----------------------------------------------------------------------*/

#include "rverror.h"


#ifdef __cplusplus
extern "C" {
#endif




/*-----------------------------------------------------------------------*/
/*                           TYPE DEFINITIONS                            */
/*-----------------------------------------------------------------------*/

/* Predefined object names */
#define RV_THREAD_INSTANCE_SELECT       "RVSELECT"
#define RV_THREAD_INSTANCE_TIMERS       "RVTIMERS"
#define RV_THREAD_INSTANCE_TIMERS_HWND  "RVTIMERSHWND" /* Windows only */


/******************************************************************************
 * ThreadInstanceDeleteFunc
 * ----------------------------------------------------------------------------
 * General: Deletion function for a module. This function is called when all
 *          initialization calls to the given module in the current thread have
 *          been rolled back using ThreadInstanceEndObject().
 * Return Value: RV_OK  - if successful.
 * ----------------------------------------------------------------------------
 * Arguments:
 * Input  : objectName  - Name of the object.
 *          context     - Context used for creation and deletion functions.
 *          objectPtr   - Object pointer used
 * Output : none
 *****************************************************************************/
typedef RvStatus (* ThreadInstanceDeleteFunc) (
    IN  const RvChar*   objectName,
    IN  void*           context,
    IN  void*           objectPtr);


/******************************************************************************
 * ThreadInstanceCreateFunc
 * ----------------------------------------------------------------------------
 * General: Creation function for a module. This function is called when an
 *          object has to be created for the first time in the current thread.
 * Return Value: RV_OK  - if successful.
 * ----------------------------------------------------------------------------
 * Arguments:
 * Input  : objectName      - Name of the object.
 *          context         - Context used for creation and deletion functions.
 *          amountNeeded    - Amount of sub-objects we need to allocate.
 *          objectPtr       - Object pointer we already have (or NULL on first
 *                            call in this thread).
 * Output : objectPtr       - Object pointer allocated
 *          amountAllocated - Amount of sub-objects we have allocated in this
 *                            specific call.
 *          deleteFunc      - Function to call for deletion of the object.
 *****************************************************************************/
typedef RvStatus (* ThreadInstanceCreateFunc) (
    IN    const RvChar*             objectName,
    IN    void*                     context,
    IN    RvSize_t                  amountNeeded,
    INOUT void**                    objectPtr,
    OUT   RvSize_t*                 amountAllocated,
    OUT   ThreadInstanceDeleteFunc* deleteFunc);




/*-----------------------------------------------------------------------*/
/*                           FUNCTIONS HEADERS                           */
/*-----------------------------------------------------------------------*/


/******************************************************************************
 * ThreadInstanceInitObject
 * ----------------------------------------------------------------------------
 * General: Initialize a specific object instance, making sure it is only
 *          constructed once for each thread. Multiple calls to this function
 *          with the same arguments from the same thread will be discarded.
 * Return Value: RV_OK  - if successful.
 * ----------------------------------------------------------------------------
 * Arguments:
 * Input  : objectName      - The name of the constructed object.
 *          func            - Function for creation of the object. Only called once for
 *                            each thread (or if the amount of sub-objects needed is not
 *                            satisfied.
 *          context         - Context used for the creation function.
 *          amountNeeded    - Amount of sub-objects the initialized object should
 *                            support. Can be set to 0 if not relevant.
 * Output : objectPtr       - Pointer to the cosntructed object (as returned by the
 *                            creation function func).
 *          count           - Number of times this object was called for construction
 *                            in the current thread.
 *          index           - Index to use for faster access.
 *****************************************************************************/
RvStatus ThreadInstanceInitObject(
    IN  const RvChar*               objectName,
    IN  ThreadInstanceCreateFunc    func,
    IN  void*                       context,
    IN  RvSize_t                    amountNeeded,
    OUT void**                      objectPtr,
    OUT RvUint32*                   count,
    OUT RvUint32*                   index);


/******************************************************************************
 * ThreadInstanceGetObject
 * ----------------------------------------------------------------------------
 * General: Get the object that was initialized for the current thread.
 * Return Value: RV_OK  - if successful.
 * ----------------------------------------------------------------------------
 * Arguments:
 * Input  : index       - Index of the object as given by ThreadInstanceInitObject().
 * Output : objectPtr   - Object pointer initialized.
 *****************************************************************************/
RvStatus ThreadInstanceGetObject(
    IN  RvUint32    index,
    OUT void**      objectPtr);


/******************************************************************************
 * ThreadInstanceFindIndex
 * ----------------------------------------------------------------------------
 * General: Find the index of an object by its name.
 * Return Value: RV_OK  - if successful.
 * ----------------------------------------------------------------------------
 * Arguments:
 * Input  : objectName  - Name of the object we're looking for.
 * Output : index       - Index of the object
 *****************************************************************************/
RvStatus ThreadInstanceFindIndex(
    IN  const RvChar*   objectName,
    OUT RvUint32*       index);


/******************************************************************************
 * ThreadInstanceEndObject
 * ----------------------------------------------------------------------------
 * General: Deinitialize a specific object instance, making sure it is only
 *          destructed once for each thread (when no one is referencing it).
 * Return Value: RV_OK  - if successful.
 * ----------------------------------------------------------------------------
 * Arguments:
 * Input  : index   - Index of the object as given by ThreadInstanceInitObject().
 *          amount  - Amount of sub-objects we won't need from now on. Can be set
 *                    to 0 if this should be discarded.
 * Output : count   - Number of times this object is still referenced.
 *****************************************************************************/
RvStatus ThreadInstanceEndObject(
    IN  RvUint32        index,
    IN  RvSize_t        amount,
    OUT RvUint32*       count);



#ifdef __cplusplus
}
#endif

#endif  /*END OF: define _RV_THREAD_INSTANCE_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区三区乱码| 欧美吞精做爰啪啪高潮| 欧美日韩精品欧美日韩精品一综合| 91精品福利在线| 欧美精品一二三四| 日韩精品一区二| 日韩一级片网址| 国产日本欧洲亚洲| 久久久精品一品道一区| 亚洲主播在线播放| 玖玖九九国产精品| 91麻豆精品在线观看| 日韩欧美www| 亚洲欧美一区二区久久| 精品一区二区三区在线视频| www.欧美精品一二区| 欧美一区二区三区在线观看视频| 色素色在线综合| 日韩一级大片在线| 亚洲制服丝袜一区| www.亚洲色图.com| 国产欧美视频一区二区| 麻豆精品一区二区三区| 欧美日韩精品久久久| 亚洲综合av网| 在线一区二区三区四区| 日韩理论片中文av| 成人综合在线视频| 久久久久久久久久久电影| 精品一区二区三区视频| 欧美电影免费观看高清完整版在线| 亚洲国产乱码最新视频| 欧美午夜精品一区| 香蕉久久一区二区不卡无毒影院| 欧美三片在线视频观看| 亚洲成人动漫精品| 欧美片在线播放| 日韩精品免费专区| 日韩欧美的一区| 美女www一区二区| 欧美变态凌虐bdsm| 国产酒店精品激情| 国产欧美日韩另类视频免费观看| 成人免费视频一区| 国产精品麻豆久久久| av一区二区三区| 亚洲卡通动漫在线| 欧美日韩国产首页在线观看| 蜜桃视频一区二区三区 | 91同城在线观看| 成人免费小视频| 在线观看视频一区| 五月激情综合网| 欧美大片在线观看| 丁香婷婷综合激情五月色| 亚洲特黄一级片| 欧美性极品少妇| 免费观看在线色综合| 国产亚洲精品久| 日本精品一级二级| 麻豆精品视频在线观看免费| 国产亚洲成年网址在线观看| 一本色道a无线码一区v| 婷婷六月综合亚洲| 欧美—级在线免费片| av电影在线观看完整版一区二区| 一区二区欧美国产| 精品久久一区二区| 色婷婷久久久久swag精品| 日韩电影一二三区| 国产精品国产自产拍高清av| 欧美日韩一二三区| 丁香天五香天堂综合| 午夜日韩在线电影| 国产精品女主播av| 91精品国产手机| 色综合中文综合网| 午夜伦欧美伦电影理论片| 2023国产精华国产精品| 色婷婷亚洲婷婷| 国产九九视频一区二区三区| 亚洲图片有声小说| 中文字幕一区二区在线观看| 91精品国产综合久久久蜜臀粉嫩| 99在线视频精品| 久久国产生活片100| 一区二区三区国产精品| 国产午夜精品久久久久久免费视| 欧美丰满嫩嫩电影| 97se亚洲国产综合自在线观| 久久99热这里只有精品| 亚洲高清免费一级二级三级| 亚洲国产成人在线| www激情久久| 91精品国产综合久久小美女| 一本到高清视频免费精品| 国产麻豆成人传媒免费观看| 免费成人在线影院| 日韩精品乱码av一区二区| 亚洲免费观看高清完整| 国产精品丝袜久久久久久app| 日韩欧美一级在线播放| 欧美日韩一区二区三区免费看| av男人天堂一区| 丁香一区二区三区| 国产大陆a不卡| 激情综合色综合久久| 日本不卡免费在线视频| 天堂久久一区二区三区| 亚洲国产综合91精品麻豆| 亚洲一区二区在线免费观看视频| 亚洲美女免费视频| 亚洲同性同志一二三专区| 国产无一区二区| 国产日韩欧美不卡在线| 国产亚洲va综合人人澡精品| 亚洲精品一区二区三区精华液| 精品美女在线播放| 精品国产乱码久久久久久夜甘婷婷| 日韩一区二区中文字幕| 日韩情涩欧美日韩视频| 欧美成人性战久久| 久久久亚洲高清| 日本一区二区三区在线观看| 欧美激情综合五月色丁香小说| 国产精品三级久久久久三级| 国产精品福利一区二区| 一区二区三区四区高清精品免费观看| 一区二区成人在线观看| 午夜精品久久久久久久99樱桃| 五月婷婷久久丁香| 日本麻豆一区二区三区视频| 精品亚洲成a人| 国产成人精品网址| 一本久久综合亚洲鲁鲁五月天| 欧美自拍丝袜亚洲| 777a∨成人精品桃花网| 精品99一区二区| 国产视频不卡一区| 亚洲激情校园春色| 日本欧洲一区二区| 国产精品1区2区| 91性感美女视频| 884aa四虎影成人精品一区| 久久久久九九视频| 综合色天天鬼久久鬼色| 日日噜噜夜夜狠狠视频欧美人| 国内成人精品2018免费看| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩成人一区| 久久久国产精华| 亚洲国产中文字幕在线视频综合| 久久99久久精品| 97超碰欧美中文字幕| 日韩欧美一区二区在线视频| 综合网在线视频| 国内外精品视频| 欧美午夜一区二区三区免费大片| 久久综合久久鬼色| 亚洲高清视频在线| 国产成人h网站| 欧美日韩国产欧美日美国产精品| 欧美国产日韩a欧美在线观看 | 欧美在线视频全部完| 337p日本欧洲亚洲大胆精品| 伊人性伊人情综合网| 国内欧美视频一区二区| 欧美日韩综合在线| 国产日韩高清在线| 蜜臀99久久精品久久久久久软件| 日本韩国欧美三级| 国产婷婷精品av在线| 午夜av电影一区| 色婷婷久久久久swag精品| 欧美经典三级视频一区二区三区| 日韩av午夜在线观看| 色综合视频在线观看| 日本一区二区三区电影| 久久99精品国产.久久久久| 欧美影院一区二区三区| 亚洲人精品午夜| 高清国产一区二区| 久久综合色天天久久综合图片| 亚洲国产va精品久久久不卡综合| 97se狠狠狠综合亚洲狠狠| 欧美精品一区二区三区一线天视频| 亚洲福利一区二区三区| 在线视频亚洲一区| 亚洲欧美偷拍三级| 9i在线看片成人免费| 久久精品夜色噜噜亚洲a∨| 激情小说欧美图片| 欧美成人三级在线| 久草精品在线观看| 日韩久久久久久| 麻豆国产欧美日韩综合精品二区 | 91视频一区二区| 国产精品传媒在线| www.亚洲在线| 亚洲国产精品99久久久久久久久|