windows-nt/Source/XPSP1/NT/public/internal/termsrv/inc/tschannl.h
2020-09-26 16:20:57 +08:00

126 lines
6.3 KiB
C

/**INC+**********************************************************************/
/* Header: tschannl.h */
/* */
/* Purpose: Server Channel API file */
/* */
/* Copyright(C) Microsoft Corporation 1997 */
/* */
/****************************************************************************/
/** Changes:
* $Log$
**/
/**INC-**********************************************************************/
/****************************************************************************/
/* Include common channel protocol definitions */
/****************************************************************************/
#include <pchannel.h>
/****************************************************************************/
/* Structure: CHANNEL_CONNECT_DEF */
/* */
/* Description: Definition of a channel for CHANNEL_CONNECT_IN */
/****************************************************************************/
typedef struct tagCHANNEL_CONNECT_DEF
{
char name[CHANNEL_NAME_LEN + 1];
ULONG ID;
} CHANNEL_CONNECT_DEF, * PCHANNEL_CONNECT_DEF;
/****************************************************************************/
/* Structure: CHANNEL_IOCTL_IN */
/* */
/* Description: Common channel inbound IOCTL header */
/****************************************************************************/
typedef struct tagCHANNEL_IOCTL_IN
{
UINT sessionID;
HANDLE IcaHandle;
UINT_PTR contextData;
} CHANNEL_IOCTL_IN, * PCHANNEL_IOCTL_IN;
/****************************************************************************/
/* Structure: CHANNEL_IOCTL_OUT */
/* */
/* Description: Common channel outbound IOCTL header */
/****************************************************************************/
typedef struct tagCHANNEL_IOCTL_OUT
{
UINT_PTR contextData;
} CHANNEL_IOCTL_OUT, * PCHANNEL_IOCTL_OUT;
/****************************************************************************/
/* IOCTL_CHANNEL_CONNECT */
/* */
/* - data in: CHANNEL_CONNECT_IN */
/* */
/* - data out: CHANNEL_CONNECT_OUT */
/****************************************************************************/
#define IOCTL_CHANNEL_CONNECT \
CTL_CODE(FILE_DEVICE_TERMSRV, 0xA00, METHOD_NEITHER, FILE_WRITE_ACCESS)
/****************************************************************************/
/* Structure: CHANNEL_CONNECT_IN */
/* */
/* Description: Data sent to driver on IOCTL_CHANNEL_CONNECT */
/****************************************************************************/
typedef struct tagCHANNEL_CONNECT_IN
{
CHANNEL_IOCTL_IN hdr;
UINT channelCount;
ULONG fAutoClientDrives : 1;
ULONG fAutoClientLpts : 1;
ULONG fForceClientLptDef : 1;
ULONG fDisableCpm : 1;
ULONG fDisableCdm : 1;
ULONG fDisableCcm : 1;
ULONG fDisableLPT : 1;
ULONG fDisableClip : 1;
ULONG fDisableExe : 1;
ULONG fDisableCam : 1;
ULONG fDisableSCard : 1;
/* <channelCount> repetitions of CHANNEL_CONNECT_DEF follow */
} CHANNEL_CONNECT_IN, * PCHANNEL_CONNECT_IN;
/****************************************************************************/
/* Structure: CHANNEL_CONNECT_OUT */
/* */
/* Description: Data returned by driver on IOCTL_CHANNEL_CONNECT */
/****************************************************************************/
typedef struct tagCHANNEL_CONNECT_OUT
{
CHANNEL_IOCTL_OUT hdr;
} CHANNEL_CONNECT_OUT, *PCHANNEL_CONNECT_OUT;
/****************************************************************************/
/* IOCTL_CHANNEL_DISCONNECT */
/* */
/* - data in: CHANNEL_DISCONNECT_IN */
/* */
/* - data out: CHANNEL_DISCONNECT_OUT */
/****************************************************************************/
#define IOCTL_CHANNEL_DISCONNECT \
CTL_CODE(FILE_DEVICE_TERMSRV, 0xA01, METHOD_NEITHER, FILE_WRITE_ACCESS)
/****************************************************************************/
/* Structure: CHANNEL_DISCONNECT_IN */
/* */
/* Description: Data sent to driver on IOCTL_CHANNEL_DISCONNECT */
/****************************************************************************/
typedef struct tagCHANNEL_DISCONNECT_IN
{
CHANNEL_IOCTL_IN hdr;
} CHANNEL_DISCONNECT_IN, * PCHANNEL_DISCONNECT_IN;
/****************************************************************************/
/* Structure: CHANNEL_DISCONNECT_OUT */
/* */
/* Description: Data returned by driver on IOCTL_CHANNEL_DISCONNECT */
/****************************************************************************/
typedef struct tagCHANNEL_DISCONNECT_OUT
{
CHANNEL_IOCTL_OUT hdr;
} CHANNEL_DISCONNECT_OUT, *PCHANNEL_DISCONNECT_OUT;