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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? opennet.h

?? .net 方面的開發說明資料。
?? H
?? 第 1 頁 / 共 2 頁
字號:

	DLL_API bool DLL_CALLCONV EpLoadProperties(PROPERTYGROUP_HANDLE group, const char *properties);

	// ----------------------------------------------------------
	// Purpose: Returns the type of a property group.
	// Usage  : None
	// ----------------------------------------------------------
	
	DLL_API bool DLL_CALLCONV EpPropGetType(PROPERTYGROUP_HANDLE group, char *type);
	
	// ----------------------------------------------------------
	// Purpose: Returns true if the property group contains the
	//          given property key, false otherwise. Property keys
	//          are case insensitive.
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpPropKeyExists(PROPERTYGROUP_HANDLE group, const char *s);

	// ----------------------------------------------------------
	// Purpose: Returns the value of the given key in a property
	//          group. Returns true if the function was
	//          successfull, false otherwise.
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpPropGetValue(PROPERTYGROUP_HANDLE group, const char *key, char *value);

	// ----------------------------------------------------------
	// Purpose: Returns the value of the given key in a property
	//          group, converted to a boolean. Returns true if
	//          the function was successfull, false otherwise.
	//          The property is true if the value is the string
	//          "true" or a numeric value other than 0.
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpPropGetValueAsBool(PROPERTYGROUP_HANDLE group, const char *key, bool *value);

	// ----------------------------------------------------------
	// Purpose: Returns the value of the given key in a property
	//          group, converted to an integer. Returns true if
	//          the function was successfull, false otherwise.
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpPropGetValueAsInt(PROPERTYGROUP_HANDLE group, const char *key, int *value);

	// ----------------------------------------------------------
	// Purpose: Returns the value of the given key in a property
	//          group, converted to an unsigned long. Returns
	//          true if the function was successfull, false
	//          otherwise.
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpDestroyPropertyGroup(PROPERTYGROUP_HANDLE group);

	// ##########################################################
	// TRANSPORT FUNCTIONS
	// ##########################################################
	// ----------------------------------------------------------
	// Purpose: Creates a new transport
	// Usage  : Use this function to start a communication
	//          session. The transport_type parameter specifies the
	//          type of transport to be created (rs232, tcpip, etc).
	// Notes: : None
	// ----------------------------------------------------------

	DLL_API TRANSPORT_HANDLE DLL_CALLCONV EpCreateTransport(const char *properties, CallbackProc callback, bool enable_debug_events = false, void *data = NULL);

	// ----------------------------------------------------------
	// Purpose: Destroys a previously created transport
	// Usage  : None
	// Notes  : None
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpDestroyTransport(TRANSPORT_HANDLE transport);

	// ----------------------------------------------------------
	// Purpose: Enables or disables the postage of debug events
	//          for a specific transports. These events include
	//          SYSTEM_DATA_IN and SYSTEM_DATA_OUT. More events
	//          might be included in the future
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpEnableDebugEvents(TRANSPORT_HANDLE transport, bool enable);

	// ----------------------------------------------------------
	// Purpose: Gets a transport option
	// Usage  : None
	// Notes  : If value is NULL and size is not NULL, size will
	//          contain the needed size to contain the option.
	// ----------------------------------------------------------
	
	DLL_API bool DLL_CALLCONV EpGetOption(TRANSPORT_HANDLE transport, int option, void *value, int *size);

	// ----------------------------------------------------------
	// Purpose: Sets a transport option
	// Usage  : None
	// Notes  : None
	// ----------------------------------------------------------
	
	DLL_API bool DLL_CALLCONV EpSetOption(TRANSPORT_HANDLE transport, int option, void *value);

	// ##########################################################
	// PROTOCOL FUNCTIONS
	// ##########################################################
	// ----------------------------------------------------------
	// Purpose: Wrapper for EpRegisterComponent that automatically
	//          registers a protocol.
	// Usage  : None
	// Notes  : None
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpRegisterProtocol(CLSID id, Protocol *protocol);

	// ----------------------------------------------------------
	// Purpose: Adds a protocol on a transport
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpAddProtocol(TRANSPORT_HANDLE transport, GUID protocol_id);

	// ----------------------------------------------------------
	// Purpose: Resets a protocol
	// Usage  : None
	// Notes  : None
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpResetProtocol(TRANSPORT_HANDLE handle, GUID protocol);

	// ----------------------------------------------------------
	// Purpose: Retrieves a registered protocol from a GUID.
	// Usage  : None
	// Notes  : None
	// ----------------------------------------------------------

	DLL_API Protocol *DLL_CALLCONV EpProtocolHandle(CLSID id);

	// ----------------------------------------------------------
	// Purpose: Connects to an external source
	// Usage  : Use this function to connect a transport to
	//          an external host, such as a modem or an internet
	//          service.
	// Notes  : Each transport-type has its own way, non compatible
	//          way of plugging into external servers. However,
	//          OpenNet tries to unify them by sending an
	//          internal event SYSTEM_CONNECTED when a connection
	//          was successfulor SYSTEM_CONNECTION_FAILED when the
	//          connection couldn't be made.
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpConnect(TRANSPORT_HANDLE transport, const char *host, int port, int timeout);

	// ----------------------------------------------------------
	// Purpose: Disconnects from an external source
	// Usage  : Use this function to disconnect a transport from an
	//          external host, such as a modem or an internet
	//          service.
	// Notes  : Each transport-type has its own, non compatible
	//          way of plugging to external sources. However,
	//          OpenNet tries to unify them by sending an
	//          internal event SYSTEM_DISCONNECTED when a connection
	//          was successfully aborted. If a connection could not me 
	//          aborted SYSTEM_DISCONNECTION_FAILED is sent. Any
	//          internal events for the specific transport-type are
	//          also sent.
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpDisconnect(TRANSPORT_HANDLE transport);
		
	// ----------------------------------------------------------
	// Purpose: Sends an action to a transport
	// Usage  : Whenever you want to send some data to a transport
	//          you have to create an event for it. The transport
	//          accepts the event, transforms it to data for
	//          the target device via a protocol router, and then
	//          sends the data to the target device. When data 
	//          is received, the data is once again lead through
	//          the protocol and transformed to an EpEvent. Then
	//          the event is sent to the Grid's callback function.
	// Notes  : The event data is sent to the protocol, transformed,
	//          and immediately sent to the transport, When this function
	//          returns, you can immediately clean up the event.
	// 
	//          When a transport is attached to a protocol, you *MUST*
	//          call CompleteEvent to finish the event off.
	//          Failing to do so will cause OpenNet to ignore
	//          the event completely.
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpSendAction(TRANSPORT_HANDLE transport, EpAction *action);

	// ----------------------------------------------------------
	// Purpose: Sends transformed data from the protocol to the
	//          transport
	// Usage  : This function initiates the actual data transfer
	//          in the transport. You should only use this
	//          function in a protocol implementation.
	// Notes  : The sent data is copied inside the transport, to
	//          ensure reliable communication. When this function
	//          returns, you can immediately delete the data.
	// Notes  : If the protocol member in the EpEvent is nonzero,
	//          then the data in the data member is send through
	//          a assigned protocol object. The protocol then calls
	//          EpCompleteEvent to send the actual (translated) data.
	//          If the protocol member is zero, OpenNet sees the
	//          data in the data member as raw data and sends
	//          immediately.
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpCompleteAction(TRANSPORT_HANDLE transport, unsigned char *data, int size);

	// ----------------------------------------------------------
	// Purpose: Dispatches an EpEvent to the grid callback
	// Usage  : This function is probably only of use in
	//          protocols. It takes a EpEvent, and sends it
	//          to a grid's callback function. The user can
	//          then do something according to the EpEvent he
	//          received.
	// Notes  : The event data is copied and stored in a queue.
	//          You may immediately clean up the event after
	//          this function returns.
	// Notes  : When the user handled the dispatched message,
	//          he must call EpHandledEvent to notify OpenNet that
	//          the event data can be destroyed.
	// Notes  : If the size member in the event is larger than 0,
	//          the data member is ignored.
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpDispatchEvent(TRANSPORT_HANDLE transport, EpEvent *event);

	// ----------------------------------------------------------
	// Purpose: Sends raw data to a transport
	// Usage  : This is a convenient wrapper to directly
	//          pass raw data to a transport, without creating a
	//          EpEvent. Normally you would create a EpEvent
	//          with the protocol member set to 0.
	// Notes  : Because there is no protocol attached to raw
	//          data, you may decide what kind of event you
	//          want to see in return. If the reply_protocol
	//          parameter is 0, the reply event will be a
	//          system event. Otherwise it will be an event
	//          of the protocol assigned to the transport on creation.
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpSendRawData(TRANSPORT_HANDLE transport, unsigned char *data, int size, GUID reply_protocol, int reply_msg, int timeout);

	// ----------------------------------------------------------
	// Purpose: Notifies OpenNet that a reply arrived for an event.
	// Usage  : When an event is sent with a positive value time-
    //          out, OpenNet will send an SYSTEM_TIMEOUT event
	//          when the given time has elapsed. When this function
	//          is called, the timeout event is supressed.
	// Notes  : When there were sent multiple events with the same
	//          type, EpHandledEvent removes them in the order they
	//          were sent, regardless of differences in the time-out
	//          values.
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpCancelTimeout(TRANSPORT_HANDLE transport, GUID protocol, int msg);

	// ----------------------------------------------------------
	// Purpose: Cancels all scheduled timeouts for a specific protocol
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpCancelProtocolTimeouts(TRANSPORT_HANDLE transport, GUID protocol);

	// ----------------------------------------------------------
	// Purpose: Cancels all timeouts for a transport
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpCancelAllTimeouts(TRANSPORT_HANDLE transport);

	// ----------------------------------------------------------
	// Purpose: Retrieves some extra reference data from an event
	// Usage  : A transport might store some extra reference data
	//          when it posts an event. For example an UDP
	//          transport stores the ip address of the user that
	//          sent the packet.
	// Notes  : None
	// ----------------------------------------------------------

	DLL_API void *DLL_CALLCONV EpGetEventRefData(TRANSPORT_HANDLE transport, int reference);

	// ----------------------------------------------------------
	// Purpose: Sends unhandled data from the protocol to the
	//          system.
	// Usage  : Whenever a protocol finds data it can't handle,
	//          it can send it to the previous protocol in the
	//          inheritance chain and ultimately to a built
	//          in protocol for a particular transport (the
	//          'system' protocol)
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpInheritedRecv(TRANSPORT_HANDLE transport, unsigned char *data, int size);

	// ----------------------------------------------------------
	// Purpose: Retrieves the name string of a protocol
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API int DLL_CALLCONV EpGetProtocolName(TRANSPORT_HANDLE transport, GUID protocol, char *name, int size);

	// ----------------------------------------------------------
	// Purpose: Retrieves the name string of a message handled
	//          by a certain protocol
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API int DLL_CALLCONV EpGetProtocolMsgName(TRANSPORT_HANDLE transport, GUID protocol, int msg, char *name, int size);
};

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆免费精品视频| 精品三级av在线| 99国产麻豆精品| 成人一区二区三区在线观看| 欧美午夜精品理论片a级按摩| 成人av集中营| 成人av在线影院| av激情成人网| 日本韩国欧美在线| 欧美男人的天堂一二区| 欧美日韩久久不卡| 日韩欧美在线网站| 精品国产凹凸成av人网站| 久久综合久色欧美综合狠狠| 久久―日本道色综合久久| 国产日韩三级在线| 亚洲人成伊人成综合网小说| 一区二区三区免费看视频| 五月婷婷另类国产| 狠狠色狠狠色综合日日91app| 国产在线视频不卡二| 国产成人精品免费网站| 色噜噜狠狠色综合欧洲selulu| 欧美午夜一区二区三区 | 宅男在线国产精品| 欧美大尺度电影在线| 2020国产成人综合网| 欧美国产日韩精品免费观看| 亚洲乱码国产乱码精品精小说| 天天综合色天天综合色h| 美女在线一区二区| 国产99精品国产| 91污在线观看| 欧美福利视频导航| 国产欧美一区二区精品性色| 亚洲乱码国产乱码精品精可以看| 婷婷综合五月天| 国产综合一区二区| 色综合视频一区二区三区高清| 欧美情侣在线播放| 国产婷婷色一区二区三区四区| 亚洲乱码国产乱码精品精可以看| 日韩av不卡一区二区| 国产九色精品成人porny | 日韩欧美你懂的| 国产欧美日韩久久| 午夜精品影院在线观看| 国产传媒一区在线| 制服丝袜中文字幕亚洲| 久久久高清一区二区三区| 一区二区三区日韩欧美| 久久99精品久久久久久久久久久久| 成人污视频在线观看| 在线播放91灌醉迷j高跟美女 | 日韩成人伦理电影在线观看| 国产成人精品亚洲日本在线桃色| 欧美日韩国产综合久久| 国产精品免费久久久久| 麻豆专区一区二区三区四区五区| 99精品欧美一区| 欧美岛国在线观看| 性欧美疯狂xxxxbbbb| 欧美日韩性生活| 国产精品乱码人人做人人爱| 蜜臀av性久久久久av蜜臀妖精| av动漫一区二区| 久久婷婷色综合| 日本三级韩国三级欧美三级| 一本久道中文字幕精品亚洲嫩| 2023国产精品视频| 日韩av一区二| 欧美日韩免费一区二区三区视频| 国产精品久久久久久久久免费相片 | 欧美一级久久久久久久大片| 亚洲欧美激情视频在线观看一区二区三区 | 精品一区二区精品| 欧美日韩午夜在线视频| 亚洲色图视频网站| 成人午夜精品一区二区三区| 久久一二三国产| 免费精品视频在线| 欧美精品久久99久久在免费线 | 粉嫩aⅴ一区二区三区四区 | 亚洲激情av在线| 成人app软件下载大全免费| 26uuu亚洲综合色| 麻豆极品一区二区三区| 这里只有精品视频在线观看| 亚洲va国产天堂va久久en| 色先锋aa成人| 亚洲天堂精品在线观看| 大美女一区二区三区| 国产三级欧美三级日产三级99 | 欧洲在线/亚洲| 亚洲精品中文在线| av午夜一区麻豆| 亚洲天堂福利av| 99精品热视频| 亚洲蜜臀av乱码久久精品蜜桃| www.av亚洲| ...中文天堂在线一区| 99在线热播精品免费| 亚洲欧美视频在线观看视频| 99视频一区二区| 一区二区在线观看免费视频播放| 色综合久久中文字幕| 亚洲欧美激情视频在线观看一区二区三区| 波多野结衣91| 最新不卡av在线| 91久久香蕉国产日韩欧美9色| 亚洲乱码国产乱码精品精的特点| 91黄色免费网站| 五月天亚洲婷婷| 精品国产亚洲在线| 经典三级在线一区| 国产欧美日韩精品一区| 99麻豆久久久国产精品免费| 一区二区三区不卡视频 | 亚洲女子a中天字幕| 在线免费不卡电影| 亚洲成人午夜影院| 91精品麻豆日日躁夜夜躁| 久久精品噜噜噜成人av农村| 久久精品日产第一区二区三区高清版 | 精品福利一区二区三区 | 91精品午夜视频| 久久成人麻豆午夜电影| 国产欧美视频在线观看| 9人人澡人人爽人人精品| 亚洲第一二三四区| 日韩欧美亚洲一区二区| 国v精品久久久网| 一区二区三区蜜桃| 日韩午夜小视频| 成人高清av在线| 日韩成人av影视| 午夜精品福利一区二区蜜股av | 日韩精品一区在线观看| 国产馆精品极品| 亚洲欧美激情小说另类| 91精品国产综合久久精品图片| 国产一区二区毛片| 日韩伦理av电影| 欧美精品三级在线观看| 国产成人精品一区二区三区网站观看| 亚洲欧美电影一区二区| 日韩欧美一区二区视频| 从欧美一区二区三区| 肉丝袜脚交视频一区二区| 久久久99久久精品欧美| 欧美视频中文字幕| 国产综合久久久久久鬼色| 亚洲卡通动漫在线| 日韩精品一区二区三区视频| 91丨九色丨蝌蚪丨老版| 午夜精品福利一区二区蜜股av| 久久久久一区二区三区四区| 在线亚洲+欧美+日本专区| 国产自产视频一区二区三区| 亚洲国产成人tv| 中文字幕欧美三区| 91精品国产欧美一区二区成人 | 国产精品卡一卡二| 91精品国产高清一区二区三区| 韩国午夜理伦三级不卡影院| 亚洲三级在线免费观看| 欧美精品一区二区三区蜜桃视频| 91福利精品视频| 成人av在线网| 国模一区二区三区白浆| 亚洲a一区二区| 亚洲日本在线a| 欧美经典三级视频一区二区三区| 欧美精品自拍偷拍| 色噜噜久久综合| 日韩三级电影网址| 91在线无精精品入口| 国产综合色视频| 日本最新不卡在线| 亚洲欧美中日韩| 国产喷白浆一区二区三区| 欧美一区二区三区视频在线 | 99久久99久久精品免费观看| 久草这里只有精品视频| 天堂成人国产精品一区| 亚洲欧美一区二区三区国产精品| 国产日韩欧美一区二区三区乱码 | 天堂av在线一区| www久久精品| 婷婷中文字幕综合| 欧美精品久久天天躁| 日韩成人dvd| 中文久久乱码一区二区| 波波电影院一区二区三区| 中文字幕在线一区二区三区| 成人精品小蝌蚪| 一片黄亚洲嫩模| 91精品国产综合久久久久久久久久| 高清国产一区二区三区| 日本一区二区三区dvd视频在线|