/************************************************************************* * * 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);