|
|
//---------------------------------------------------------------------------
//
// File: TSrvWsx.h
//
// Contents: TSrvWsx private include file
//
// Copyright: (c) 1992 - 1997, Microsoft Corporation.
// All Rights Reserved.
// Information Contained Herein is Proprietary
// and Confidential.
//
// History: 17-JUL-97 BrianTa Created.
//
//---------------------------------------------------------------------------
#ifndef __TSRVWXS_H_
#define __TSRVWXS_H_
//
// Defines
//
#define WSX_CONTEXT_CHECKMARK 0x58575354 // "TSWX"
#ifndef _HYDRA_
#define FILE_DEVICE_ICA 0x0000002e // sdk\inc\devioctl.h
#endif
#if DBG
#define PWSXVALIDATE(_x_,_y_) {_x_ __pwsx = _y_;}
#define ICA_IOCTL_TBL_ITEM(_x_) {_x_, #_x_}
#else // DBG
#define PWSXVALIDATE(_x_,_y_)
#endif // DBG
//
// Typedefs
//
#if DBG
// ICA IOCTL table
typedef struct _TSRV_ICA_IOCTL_ENTRY { ULONG IoControlCode; PCHAR pszMessageText;
} TSRV_ICA_IOCTL_ENTRY, *PTSRV_ICA_IOCTL_ENTRY;
TSRV_ICA_IOCTL_ENTRY IcaIoctlTBL[] = { ICA_IOCTL_TBL_ITEM(IOCTL_ICA_SET_TRACE), // 0
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_TRACE), // 1
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_SET_SYSTEM_TRACE), // 2
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_SYSTEM_TRACE), // 3
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_UNBIND_VIRTUAL_CHANNEL), // 4
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_PUSH), // 10
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_POP), // 11
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CREATE_ENDPOINT), // 12
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CD_CREATE_ENDPOINT), // 13
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_OPEN_ENDPOINT), // 14
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CLOSE_ENDPOINT), // 15
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENABLE_DRIVER), // 16
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_WAIT), // 17
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_WAIT_FOR_ICA), // 18
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_QUERY), // 19
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_SEND), // 20
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_REQUEST), // 21
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_PARAMS), // 22
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_PARAMS), // 23
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENCRYPTION_OFF), // 24
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENCRYPTION_PERM), // 25
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CALLBACK_INITIATE), // 26
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_LAST_ERROR), // 27
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_WAIT_FOR_STATUS), // 28
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_STATUS), // 29
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_REGISTER_HOTKEY), // 30
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CANCEL_IO), // 31
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_STATE), // 32
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_STATE), // 33
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_LAST_INPUT_TIME), // 34
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_TRACE), // 35
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CALLBACK_COMPLETE), // 36
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CD_CANCEL_IO), // 37
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_CLIENT), // 38
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_MODULE_DATA), // 39
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_REGISTER_BROKEN), // 40
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENABLE_IO), // 41
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_DISABLE_IO), // 42
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_CONNECTED), // 43
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_CLIENT_DATA), // 44
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_BUFFER), // 45
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_DISCONNECT), // 46
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_RECONNECT), // 47
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONSOLE_CONNECT), // 48
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_LICENSE_CAPABILITIES), // 69
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_REQUEST_CLIENT_LICENSE), // 70
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SEND_CLIENT_LICENSE), // 71
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_LICENSE_PROTOCOL_COMPLETE), // 72
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_GET_LICENSE_DATA), // 73
ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_CLIENT_EXTENDED), // 77
};
#endif // DBG typedefs
//
// Externs
//
extern ICASRVPROCADDR g_IcaSrvProcAddr;
//
// Prototypes
//
#if DBG
void TSrvDumpIoctlDetails(IN PVOID pvContext, IN HANDLE hIca, IN HANDLE hStack, IN ULONG IoControlCode, IN PVOID pInBuffer, IN ULONG InBufferSize, OUT PVOID pOutBuffer, IN ULONG OutBufferSize, OUT PULONG pBytesReturned);
#else
#define TSrvDumpIoctlDetails(_x_, _y_, _z_, _a_, _b_, _c_, _d_, _e_, _f_)
#endif // DBG prototypes
#endif // __TSRVWXS_H_
|