📄 cchannel.h
字号:
/****************************************************************************/
/* Header: cchannel.h */
/* */
/* Purpose: Virtual Channel Client API */
/* */
/* Copyright(C) Microsoft Corporation 1999 */
/* */
/****************************************************************************/
#ifndef H_CCHANNEL
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define H_CCHANNEL
/****************************************************************************/
/* Include Virtual Channel Protocol header */
/****************************************************************************/
#include <pchannel.h>
#ifdef _WIN32
#define VCAPITYPE _stdcall
#define VCEXPORT
#else // _WIN32
#define VCAPITYPE CALLBACK
#define VCEXPORT __export
#endif // _WIN32
/****************************************************************************/
/* Name: CHANNEL_INIT_EVENT_FN */
/* */
/* Purpose: */
/* */
/* This function is passed to MSTSC on VirtualChannelInit. It is called by */
/* MSTSC to tell the application about interesting events. */
/* */
/* Returns: */
/* */
/* none */
/* */
/* Params: */
/* */
/* - pInitHandle - a handle uniquely identifying this connection */
/* - event - the event that has occurred - see CHANNEL_EVENT_XXX below */
/* - pData - data associated with the event - see CHANNEL_EVENT_XXX below */
/* - dataLength - length of the data. */
/* */
/****************************************************************************/
typedef VOID VCAPITYPE CHANNEL_INIT_EVENT_FN(LPVOID pInitHandle,
UINT event,
LPVOID pData,
UINT dataLength);
typedef CHANNEL_INIT_EVENT_FN FAR * PCHANNEL_INIT_EVENT_FN;
/****************************************************************************/
/* Events passed to VirtualChannelInitEvent */
/****************************************************************************/
/* Client initialized (no data) */
#define CHANNEL_EVENT_INITIALIZED 0
/* Connection established (data = name of Server) */
#define CHANNEL_EVENT_CONNECTED 1
/* Connection established with old Server, so no channel support */
#define CHANNEL_EVENT_V1_CONNECTED 2
/* Connection ended (no data) */
#define CHANNEL_EVENT_DISCONNECTED 3
/* Client terminated (no data) */
#define CHANNEL_EVENT_TERMINATED 4
/****************************************************************************/
/* Name: CHANNEL_OPEN_EVENT_FN */
/* */
/* Purpose: */
/* */
/* This function is passed to MSTSC on VirtualChannelOpen. It is called by */
/* MSTSC when data is available on the channel. */
/* */
/* Returns: */
/* */
/* none */
/* */
/* Params: */
/* */
/* - openHandle - a handle uniquely identifying this channel */
/* - event - event that has occurred - see CHANNEL_EVENT_XXX below */
/* - pData - data received */
/* - dataLength - length of the data */
/* - totalLength - total length of data written by the Server */
/* - dataFlags - flags, zero, one or more of: */
/* - 0x01 - beginning of data from a single write operation at the Server */
/* - 0x02 - end of data from a single write operation at the Server. */
/* */
/****************************************************************************/
typedef VOID VCAPITYPE CHANNEL_OPEN_EVENT_FN(DWORD openHandle,
UINT event,
LPVOID pData,
UINT32 dataLength,
UINT32 totalLength,
UINT32 dataFlags);
typedef CHANNEL_OPEN_EVENT_FN FAR * PCHANNEL_OPEN_EVENT_FN;
/****************************************************************************/
/* Events passed to VirtualChannelOpenEvent */
/****************************************************************************/
/* Data received from Server (data = incoming data) */
#define CHANNEL_EVENT_DATA_RECEIVED 10
/* VirtualChannelWrite completed (pData - pUserData passed on
VirtualChannelWrite) */
#define CHANNEL_EVENT_WRITE_COMPLETE 11
/* VirtualChannelWrite cancelled (pData - pUserData passed on
VirtualChannelWrite) */
#define CHANNEL_EVENT_WRITE_CANCELLED 12
/****************************************************************************/
/* Return codes from VirtualChannelXxx functions */
/****************************************************************************/
#define CHANNEL_RC_OK 0
#define CHANNEL_RC_ALREADY_INITIALIZED 1
#define CHANNEL_RC_NOT_INITIALIZED 2
#define CHANNEL_RC_ALREADY_CONNECTED 3
#define CHANNEL_RC_NOT_CONNECTED 4
#define CHANNEL_RC_TOO_MANY_CHANNELS 5
#define CHANNEL_RC_BAD_CHANNEL 6
#define CHANNEL_RC_BAD_CHANNEL_HANDLE 7
#define CHANNEL_RC_NO_BUFFER 8
#define CHANNEL_RC_BAD_INIT_HANDLE 9
#define CHANNEL_RC_NOT_OPEN 10
#define CHANNEL_RC_BAD_PROC 11
#define CHANNEL_RC_NO_MEMORY 12
#define CHANNEL_RC_UNKNOWN_CHANNEL_NAME 13
#define CHANNEL_RC_ALREADY_OPEN 14
#define CHANNEL_RC_NOT_IN_VIRTUALCHANNELENTRY 15
#define CHANNEL_RC_NULL_DATA 16
#define CHANNEL_RC_ZERO_LENGTH 17
/****************************************************************************/
/* Levels of Virtual Channel Support */
/****************************************************************************/
#define VIRTUAL_CHANNEL_VERSION_WIN2000 1
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/****************************************************************************/
/* Name: VirtualChannelInit */
/* */
/* Purpose: */
/* */
/* This function is called by the application to register the virtual */
/* channels it wants to have access to. Note that this does not open the */
/* channels, merely reserves the names for use by this application. This */
/* function must be called before the Client connects to the Server, hence */
/* it is recommended that it is called from the DLL's initialization */
/* procedure. */
/* */
/* */
/* On_return, the channels requested have been registered. However, other */
/* MSTSC initialization may not yet have completed. The application */
/* receives a VirtualChannelInitEvent callback with the "Client */
/* initialized" event when all MSTSC initialization is complete. */
/* */
/* Returns: */
/* */
/* CHANNEL_RC_OK */
/* CHANNEL_RC_ALREADY_INITIALIZED */
/* CHANNEL_RC_ALREADY_CONNECTED */
/* CHANNEL_RC_TOO_MANY_CHANNELS */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -