125 lines
4.5 KiB
C
125 lines
4.5 KiB
C
|
|
||
|
/*************************************************************************
|
||
|
*
|
||
|
* wsxmgr.h
|
||
|
*
|
||
|
* Data to manage Window Station extensions.
|
||
|
*
|
||
|
* Copyright Microsoft Corporation, 1998
|
||
|
*
|
||
|
*
|
||
|
*************************************************************************/
|
||
|
|
||
|
|
||
|
/*=============================================================================
|
||
|
== ICA Server supplied procs
|
||
|
=============================================================================*/
|
||
|
|
||
|
/*
|
||
|
* Callback workers
|
||
|
*/
|
||
|
|
||
|
typedef VOID (WINAPI * PCALLBACK_PRIMARY)(PVOID, PVOID, PVOID);
|
||
|
typedef VOID (WINAPI * PCALLBACK_COMPLETION)(PVOID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* ICASRV Exported Functions
|
||
|
*/
|
||
|
|
||
|
typedef VOID (WINAPI * PICASRV_NOTIFYSYSTEMEVENT)(ULONG);
|
||
|
typedef VOID (WINAPI * PICASRV_SENDWINSTATIONMESSAGE)(ULONG, PWCHAR, PWCHAR, ULONG);
|
||
|
typedef VOID (WINAPI * PICASRV_GETCONTEXTFORLOGONID)(ULONG, PVOID *);
|
||
|
typedef VOID (WINAPI * PICASRV_WINSTATIONENUMCALLBACK)(PCALLBACK_PRIMARY,
|
||
|
PCALLBACK_COMPLETION,
|
||
|
PVOID);
|
||
|
|
||
|
/*
|
||
|
* Typedefs and structures
|
||
|
*/
|
||
|
typedef struct _ICASRVPROCADDR {
|
||
|
|
||
|
ULONG cbProcAddr;
|
||
|
|
||
|
PICASRV_NOTIFYSYSTEMEVENT pNotifySystemEvent;
|
||
|
PICASRV_SENDWINSTATIONMESSAGE pSendWinStationMessage;
|
||
|
PICASRV_GETCONTEXTFORLOGONID pGetContextForLogonId;
|
||
|
PICASRV_WINSTATIONENUMCALLBACK pWinStationEnumCallBack;
|
||
|
|
||
|
} ICASRVPROCADDR, * PICASRVPROCADDR;
|
||
|
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Exported function prototypes
|
||
|
*/
|
||
|
|
||
|
// Initialization
|
||
|
|
||
|
typedef BOOL (WINAPI * PWSX_INITIALIZE)(PICASRVPROCADDR);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_WINSTATIONINITIALIZE)(PVOID *);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_WINSTATIONREINITIALIZE)(PVOID, PVOID);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_WINSTATIONRUNDOWN)(PVOID);
|
||
|
|
||
|
|
||
|
|
||
|
// Client Drive Mapping Extensions
|
||
|
|
||
|
typedef NTSTATUS (WINAPI * PWSX_CDMCONNECT)(PVOID, ULONG, HANDLE);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_CDMDISCONNECT)(PVOID, ULONG, HANDLE);
|
||
|
|
||
|
|
||
|
|
||
|
// License Extensions
|
||
|
|
||
|
typedef NTSTATUS (WINAPI * PWSX_VERIFYCLIENTLICENSE)(PVOID, SDCLASS);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_GETLICENSE)(PVOID, HANDLE, ULONG, BOOL);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_QUERYLICENSE)(PVOID, ULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONGENERATELICENSE)(PWCHAR, ULONG, PCHAR, ULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONINSTALLLICENSE)(PCHAR, ULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONENUMERATELICENSES)(PULONG, PULONG, PCHAR, PULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONACTIVATELICENSE)(PCHAR, ULONG, PWCHAR, ULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONREMOVELICENSE)(PCHAR, ULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONSETPOOLCOUNT)(PCHAR, ULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONQUERYUPDATEREQUIRED)(PULONG);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_WINSTATIONLOGONANNOYANCE)(ULONG);
|
||
|
typedef DWORD (WINAPI * PWSX_WINSTATIONANNOYANCETHREAD)(PVOID);
|
||
|
|
||
|
|
||
|
// Context
|
||
|
|
||
|
|
||
|
typedef NTSTATUS (WINAPI * PWSX_DUPLICATECONTEXT)(PVOID, PVOID *);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_COPYCONTEXT)(PVOID, PVOID);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_CLEARCONTEXT)(PVOID);
|
||
|
|
||
|
|
||
|
// Other
|
||
|
|
||
|
|
||
|
typedef NTSTATUS (WINAPI * PWSX_VIRTUALCHANNELSECURITY)(PVOID, HANDLE, PUSERCONFIG);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_ICASTACKIOCONTROL)(PVOID, HANDLE, HANDLE, ULONG, PVOID, ULONG, PVOID, ULONG, PULONG);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_INITIALIZECLIENTDATA)(PVOID, HANDLE, HANDLE, HANDLE,
|
||
|
BYTE *, ULONG, PUSERCONFIG,
|
||
|
PUSHORT, PUSHORT, PUSHORT,
|
||
|
WINSTATIONDOCONNECTMSG *);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_INITIALIZEUSERCONFIG)(PVOID, HANDLE, HANDLE, PUSERCONFIG,
|
||
|
PUSHORT, PUSHORT, PUSHORT);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_CONVERTPUBLISHEDAPP)(PVOID, PUSERCONFIG);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_CHECKFORAPPLICATIONNAME)(PVOID, PWCHAR, ULONG, PWCHAR, ULONG,
|
||
|
PWCHAR, PULONG, ULONG, PCHAR, PBOOLEAN, PBOOLEAN );
|
||
|
typedef NTSTATUS (WINAPI * PWSX_GETAPPLICATIONINFO)(PVOID, PBOOLEAN, PBOOLEAN);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_BROKENCONNECTION)(PVOID, HANDLE, PICA_BROKEN_CONNECTION);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_LOGONNOTIFY)(PVOID, ULONG, HANDLE, PWCHAR, PWCHAR);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_SETERRORINFO)(PVOID, UINT32, BOOL);
|
||
|
typedef NTSTATUS (WINAPI * PWSX_SENDAUTORECONNECTSTATUS)(PVOID, UINT32, BOOL);
|
||
|
// added for long UserName, Password support
|
||
|
typedef NTSTATUS (WINAPI * PWSX_ESCAPE) (PVOID, INFO_TYPE, PVOID, ULONG, PVOID, ULONG, PULONG);
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|