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

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

?? options.h

?? OPCSERVER源代碼
?? H
字號:
/**************************************************************************
 *                                                                        *
 * Light OPC Server development library                                   *
 *                                                                        *
 *   Copyright (c) 2000  Timofei Bondarenko                               *
 **************************************************************************/

/**************************************************************************
 Compile-time adjustable parameters
 **************************************************************************/
#ifndef OPTIONS_H
#define OPTIONS_H

#ifndef LO_INIT_VARIANT
#define LO_INIT_VARIANT  (0)
#endif
/* 0 use simplified VARIANTs initialization: VARIANT::vt_type = 0
   1 use VariantInit() */

/* Handling of zero timestamps by loCacheUpdate(): */
#ifndef LO_FILL_TIMESTAMP
#define LO_FILL_TIMESTAMP (0)
#endif
/* 0 - don't replace zero timestamps
   1 - replace zero timestamps by current time
   2 - replace zero timestamps by specified timestamp */

#ifndef LO_EV_TIMESTAMP
#define LO_EV_TIMESTAMP (2)
#endif
/* 0 - don't replace zero timestamps
   1,2 - replace zero by specified timestamp at the request handling */
#if LO_EV_TIMESTAMP && LO_FILL_TIMESTAMP
#define LO_FILL_TIMESTAMP (0)
#endif


#ifndef LO_AUTO_ALLOC
#define LO_AUTO_ALLOC (4)
#endif
/* > 1 - the number of stack-allocated entries for short buffers */

#ifndef LO_KEEP_OLD_CACHE
#define LO_KEEP_OLD_CACHE (1)
/* 1 == Keep values in cache buffer (accessible through loCacheLock())
        from one update to another.
   0 == Preserving of these values is not guaranteed.

  see cacheupd.c/loUpdatePipe() for details. */
#endif

#ifndef LO_NONBASIC_PROPDESCR
#define LO_NONBASIC_PROPDESCR (1)
/* 1 == include descrioption strings for non-basic items' properties. */
#endif

#ifndef ENUM_EMPTY
/* Style of returning of empty enumerators.
   See enum.h for details. */
#if 0
#define ENUM_EMPTY(hr,flg,pUnk) (hr = ENUM_EMPTY_SFALSE(pUnk))
/* According the standard: S_FALSE & empty enumerator */
#elif 0
#define ENUM_EMPTY(hr,flg,pUnk) (hr = ENUM_EMPTY_RT(flg,pUnk))
/* Using run-time flags loDf_EE_XXX */
#elif 0
#define ENUM_EMPTY(hr,flg,pUnk) (hr = ENUM_EMPTY_SOK(pUnk)) /* S_OK & empty enumerator */
#elif 0
#define ENUM_EMPTY(hr,flg,pUnk) (hr = ENUM_EMPTY_NULL(pUnk)) /* S_FALSE & NULL enumerator */
#endif
#endif

#ifndef LO_CHECK_RIGHTS
#define LO_CHECK_RIGHTS   (1)
#endif
/* Do OPC access_right checking in Read()/Write() */

#ifndef LO_USE_PTHREADS
# ifdef _WIN32
#  define LO_USE_PTHREADS   (0)
# else
#  define LO_USE_PTHREADS   (1)
# endif
#endif
#if LO_USE_PTHREADS
# define LO_USE_BOTHMODEL      (0)
# define LO_USE_FREEMARSHALL   (0)
# define LO_USE_FREEMARSH_ENUM (0)
# define LO_USE_HRCLOCK        (0)
#endif
/* Use pthreads instead of native Win32/MSVC threads.
   See losynch.h/c for details.
   <pthread.h> should be in include path; and appropriate library linked.
   On Win32 the pthreads make no advantages
   (and adds some timing problems under W95/98). */

#ifndef LO_USE_BOTHMODEL
#define LO_USE_BOTHMODEL  (1)
#endif
/* 1 support for the "both" threading model and loDf_BOTHMODEL
   0 "free" threading only - usefull for out-of-proc servers and Windows CE */

#ifndef LO_USE_FREEMARSHALL
#define LO_USE_FREEMARSHALL  (1)
#endif
/* 1 use CoCreateFreeThreadedMarshaler() for OPC Server & Group objects
   and do support for the loDf_FREEMARSH */

#ifndef  LO_USE_FREEMARSH_ENUM
#define  LO_USE_FREEMARSH_ENUM (1)/*LO_USE_FREEMARSHALL*/
#endif
/* 1 use CoCreateFreeThreadedMarshaler() for various enums
   I don't see the way to use an enumerator across multiple threads.
   See enum.h for advanced IEnum options */


#ifndef   LO_TIMEBACK
# ifdef  _WIN32
#  define LO_TIMEBACK (-1/*10000*/)
# else
#  define LO_TIMEBACK (0)
# endif
#endif
/* Under some circumances (such as a running DOS application in W2k).
   the Win32 API WaitFor...() may return before the timer will show
   appropriate time.
   To prevent extra calls to cond_timedwait() we may detect
   this case and then increase all timeouts by appropriare
   timer's granularity within the next (LO_TIMEBACK) milliseconds.
   0 - don't detect such things;
  <0 - use another (new) compensation method. */


#ifndef LO_USE_HRCLOCK
#define LO_USE_HRCLOCK    (0)
#endif
/* Using of high resolution clock does provide
   smooth bandwidth calculation.
   On another hand, the QueryPerformanceCounter() itself is
   10...100 times slower than GetTickCount().
   (It works via rdtsc/rpcc on NT/W2k *Server* only).
   So we decided to use GetTickCount() by default. */


#ifndef LO_CO_DISCONNECT
#if 1
#define LO_USE_OBJTRACK (1)
#define LO_CO_DISCONNECT(x,xx) CoDisconnectObject((x),(xx))
#else
#define LO_USE_OBJTRACK (0)
#define LO_CO_DISCONNECT(x,xx) ((void)0)
#endif
#endif
/* LO_CO_DISCONNECT allows to disable CoDisconnectObject(x,xx)
   LO_USE_OBJTRACK enables tracking of returned enums
   to do disconnect on them. */

#ifndef LO_USE_IAM_CHECK
#define LO_USE_IAM_CHECK  (1)
#endif
/* 1 use silly interface pointer validation in Enums & ConnPoints */

#ifndef USE_LOG
#define USE_LOG ll_DEBUG
#endif
#define UL_ifLEVEL  lolog
#include <unilog.h>
extern
#ifdef __cplusplus
       "C"
#endif
            unilog *lolog;
#define LOGID  lolog,NULL
#define INIT_LOG() unilog_Create("LightOPC", "|LightOPC","%!T", \
                    0, /* Max filesize: -1 unlimited, -2 -don't change */\
                    ll_INFO) /* level [ll_FATAL...ll_DEBUG] */


#ifndef LO_USE_MALLOCX
# if defined(USE_LOG) && USE_LOG >= ll_TRACE
#  define LO_USE_MALLOCX (1)
# else
#  define LO_USE_MALLOCX (0)
# endif
/* The mallocX() & Co. wrappers. Allows to debug some memory leaks. */
/* 1 spy for unfreed memory. See xmalloc.cpp for malloc() tracing tools. */
/* It is not a GNU xmalloc() one! */
#endif

#ifndef LO_USE_OBJXREF
#define LO_USE_OBJXREF (1)
#endif
/* 1 spy for undeleted objects */

#ifndef OleErrorsH
# if defined(__MINGW32__) && defined (__cplusplus)
#  define LO_OLE_ERRORS_h <ole2.h>
# else
#  define LO_OLE_ERRORS_h <olectl.h>
# endif
/* Use #include LO_OLE_ERRORS_h in place of #include <olectl.h>
   make sure use this include AFTER a private LightOPC header included. */
#endif

#endif /*OPTIONS_H*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产自产拍高清av| 一区二区三区日韩欧美精品| 7777精品久久久大香线蕉| 色哟哟精品一区| 91色porny在线视频| 91香蕉国产在线观看软件| 本田岬高潮一区二区三区| 懂色av一区二区在线播放| 成人免费视频网站在线观看| 成人黄色777网| 色欧美乱欧美15图片| 欧美日韩国产a| 欧美一区二区免费视频| 精品国产伦理网| 中文久久乱码一区二区| 亚洲嫩草精品久久| 午夜欧美电影在线观看| 九一久久久久久| 96av麻豆蜜桃一区二区| 欧美日韩精品系列| 久久久久一区二区三区四区| 国产精品久久久一本精品| 夜色激情一区二区| 国产一区在线不卡| 欧美中文字幕一区二区三区 | 日韩精品一区二区在线观看| 精品国产制服丝袜高跟| 中文字幕成人av| 亚洲福中文字幕伊人影院| 精品在线免费观看| 欧美中文字幕一区| 久久蜜臀中文字幕| 亚洲一区二区三区四区在线免费观看| 日韩精品高清不卡| 99久久精品国产麻豆演员表| 欧美高清视频www夜色资源网| 久久久影视传媒| 亚洲制服丝袜在线| 国产精品自拍三区| 欧美视频完全免费看| 国产亚洲精品久| 亚洲va欧美va人人爽| 成人高清免费观看| 欧美成人猛片aaaaaaa| 亚洲在线成人精品| 北条麻妃国产九九精品视频| 日韩欧美一区二区视频| 一区二区欧美在线观看| 成人毛片老司机大片| 精品国产乱码久久久久久闺蜜 | 九九**精品视频免费播放| 色诱亚洲精品久久久久久| 欧美大度的电影原声| 午夜亚洲福利老司机| 色综合欧美在线视频区| 久久久久久久精| 青草国产精品久久久久久| 欧美午夜免费电影| 亚洲人被黑人高潮完整版| 国内精品久久久久影院色| 欧美一区二区三区在线| 亚洲高清久久久| 欧美午夜精品电影| 一区二区三区四区在线播放| av午夜一区麻豆| 国产精品国产三级国产普通话99| 国内精品视频666| 久久综合色鬼综合色| 麻豆中文一区二区| 日韩视频免费观看高清完整版| 热久久免费视频| 欧美一区二区在线不卡| 亚洲成在人线在线播放| 欧美日韩国产小视频| 婷婷中文字幕一区三区| 欧美日本国产视频| 午夜精品一区二区三区三上悠亚| 欧美天天综合网| 亚洲chinese男男1069| 欧美日韩免费高清一区色橹橹| 一区二区在线观看不卡| 91久久国产综合久久| 香蕉乱码成人久久天堂爱免费| 欧美日韩一区在线| 久久国产剧场电影| 欧美经典一区二区| 国产成人av一区二区三区在线| 国产无人区一区二区三区| 成人午夜激情片| 亚洲蜜桃精久久久久久久| 欧美色精品在线视频| 免费一级欧美片在线观看| 久久综合精品国产一区二区三区| 国产成人在线网站| 亚洲色图第一区| 欧美日韩一本到| 国产一区二区三区蝌蚪| 中文字幕亚洲一区二区av在线| 91蜜桃免费观看视频| 亚洲成av人片| 国产欧美日韩麻豆91| 色又黄又爽网站www久久| 日本中文字幕一区二区视频| 久久综合九色综合97婷婷女人| 成人伦理片在线| 日韩不卡手机在线v区| 国产亚洲欧美一级| 欧美日韩国产一区二区三区地区| 精品无人区卡一卡二卡三乱码免费卡| 日本一区二区在线不卡| 欧美日韩一二三| 国产91色综合久久免费分享| 亚洲一区av在线| 国产欧美日韩在线看| 欧美日韩激情一区| 不卡av在线免费观看| 久久国产免费看| 亚洲成av人片在线| 中文字幕+乱码+中文字幕一区| 欧美日产在线观看| 99久久99久久精品免费观看| 老司机免费视频一区二区三区| 一区二区三区自拍| 久久精品视频一区二区| 欧美肥妇bbw| 在线视频亚洲一区| 99视频精品免费视频| 国产在线国偷精品产拍免费yy| 香蕉久久夜色精品国产使用方法 | 91一区二区在线| 国产一区福利在线| 蜜臀91精品一区二区三区| 亚洲视频在线观看三级| 久久久99精品久久| 欧美精品一区二区三区高清aⅴ | 在线视频国内自拍亚洲视频| 成人一区二区三区在线观看| 激情五月婷婷综合| 日本成人在线电影网| 性久久久久久久久久久久| 亚洲最大成人网4388xx| 国产精品久久久一本精品 | 国产精品一品二品| 国产在线麻豆精品观看| 日韩av在线播放中文字幕| 亚洲一级在线观看| 亚洲香肠在线观看| 亚洲影视资源网| 亚洲国产欧美在线| 亚洲第一搞黄网站| 亚洲国产cao| 日韩精品乱码av一区二区| 天天免费综合色| 日韩精品亚洲专区| 日本va欧美va瓶| 国产一区二区剧情av在线| 国产一区二区三区四| 国产成人av自拍| 成人久久18免费网站麻豆| 成人av电影免费在线播放| 91蝌蚪porny| 欧美性猛交xxxx黑人交| 91精品国产色综合久久不卡蜜臀| 4438x亚洲最大成人网| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区三区四区在线观看 | 日韩欧美国产一区二区三区| 精品国产第一区二区三区观看体验 | 亚洲欧美日韩国产综合在线| 一区二区在线观看免费 | 欧美国产欧美综合| 亚洲精品一二三| 石原莉奈在线亚洲二区| 精品亚洲porn| 成人av网址在线| 欧美日韩国产综合草草| 久久精品夜色噜噜亚洲a∨| 欧美成人vps| 亚洲欧美日韩在线| 久久久精品影视| 一区二区三区欧美视频| 日韩精品一区第一页| 国产精品一二三在| 在线观看成人小视频| 精品国产乱码久久久久久牛牛| 国产精品久久久久久一区二区三区| 不卡区在线中文字幕| 日韩亚洲国产中文字幕欧美| 国产校园另类小说区| 中文一区在线播放| 99久久精品国产网站| 一区二区三区加勒比av| 欧美久久久久久久久久| 亚洲女爱视频在线| 久久99久久久欧美国产| 国产美女av一区二区三区| 国产99久久久国产精品| 久久综合色之久久综合| 国产一区二区三区四区在线观看| 欧美精品欧美精品系列|