Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
4.6 KiB

  1. /*************************************************************************
  2. *
  3. * wsxmgr.h
  4. *
  5. * Data to manage Window Station extensions.
  6. *
  7. * Copyright Microsoft Corporation, 1998
  8. *
  9. *
  10. *************************************************************************/
  11. /*=============================================================================
  12. == ICA Server supplied procs
  13. =============================================================================*/
  14. /*
  15. * Callback workers
  16. */
  17. typedef VOID (WINAPI * PCALLBACK_PRIMARY)(PVOID, PVOID, PVOID);
  18. typedef VOID (WINAPI * PCALLBACK_COMPLETION)(PVOID);
  19. /*
  20. * ICASRV Exported Functions
  21. */
  22. typedef VOID (WINAPI * PICASRV_NOTIFYSYSTEMEVENT)(ULONG);
  23. typedef VOID (WINAPI * PICASRV_SENDWINSTATIONMESSAGE)(ULONG, PWCHAR, PWCHAR, ULONG);
  24. typedef VOID (WINAPI * PICASRV_GETCONTEXTFORLOGONID)(ULONG, PVOID *);
  25. typedef VOID (WINAPI * PICASRV_WINSTATIONENUMCALLBACK)(PCALLBACK_PRIMARY,
  26. PCALLBACK_COMPLETION,
  27. PVOID);
  28. /*
  29. * Typedefs and structures
  30. */
  31. typedef struct _ICASRVPROCADDR {
  32. ULONG cbProcAddr;
  33. PICASRV_NOTIFYSYSTEMEVENT pNotifySystemEvent;
  34. PICASRV_SENDWINSTATIONMESSAGE pSendWinStationMessage;
  35. PICASRV_GETCONTEXTFORLOGONID pGetContextForLogonId;
  36. PICASRV_WINSTATIONENUMCALLBACK pWinStationEnumCallBack;
  37. } ICASRVPROCADDR, * PICASRVPROCADDR;
  38. /*
  39. * Exported function prototypes
  40. */
  41. // Initialization
  42. typedef BOOL (WINAPI * PWSX_INITIALIZE)(PICASRVPROCADDR);
  43. typedef NTSTATUS (WINAPI * PWSX_WINSTATIONINITIALIZE)(PVOID *);
  44. typedef NTSTATUS (WINAPI * PWSX_WINSTATIONREINITIALIZE)(PVOID, PVOID);
  45. typedef NTSTATUS (WINAPI * PWSX_WINSTATIONRUNDOWN)(PVOID);
  46. // Client Drive Mapping Extensions
  47. typedef NTSTATUS (WINAPI * PWSX_CDMCONNECT)(PVOID, ULONG, HANDLE);
  48. typedef NTSTATUS (WINAPI * PWSX_CDMDISCONNECT)(PVOID, ULONG, HANDLE);
  49. // License Extensions
  50. typedef NTSTATUS (WINAPI * PWSX_VERIFYCLIENTLICENSE)(PVOID, SDCLASS);
  51. typedef NTSTATUS (WINAPI * PWSX_GETLICENSE)(PVOID, HANDLE, ULONG, BOOL);
  52. typedef NTSTATUS (WINAPI * PWSX_QUERYLICENSE)(PVOID, ULONG);
  53. typedef DWORD (WINAPI * PWSX_WINSTATIONGENERATELICENSE)(PWCHAR, ULONG, PCHAR, ULONG);
  54. typedef DWORD (WINAPI * PWSX_WINSTATIONINSTALLLICENSE)(PCHAR, ULONG);
  55. typedef DWORD (WINAPI * PWSX_WINSTATIONENUMERATELICENSES)(PULONG, PULONG, PCHAR, PULONG);
  56. typedef DWORD (WINAPI * PWSX_WINSTATIONACTIVATELICENSE)(PCHAR, ULONG, PWCHAR, ULONG);
  57. typedef DWORD (WINAPI * PWSX_WINSTATIONREMOVELICENSE)(PCHAR, ULONG);
  58. typedef DWORD (WINAPI * PWSX_WINSTATIONSETPOOLCOUNT)(PCHAR, ULONG);
  59. typedef DWORD (WINAPI * PWSX_WINSTATIONQUERYUPDATEREQUIRED)(PULONG);
  60. typedef NTSTATUS (WINAPI * PWSX_WINSTATIONLOGONANNOYANCE)(ULONG);
  61. typedef DWORD (WINAPI * PWSX_WINSTATIONANNOYANCETHREAD)(PVOID);
  62. // Context
  63. typedef NTSTATUS (WINAPI * PWSX_DUPLICATECONTEXT)(PVOID, PVOID *);
  64. typedef NTSTATUS (WINAPI * PWSX_COPYCONTEXT)(PVOID, PVOID);
  65. typedef NTSTATUS (WINAPI * PWSX_CLEARCONTEXT)(PVOID);
  66. // Other
  67. typedef NTSTATUS (WINAPI * PWSX_VIRTUALCHANNELSECURITY)(PVOID, HANDLE, PUSERCONFIG);
  68. typedef NTSTATUS (WINAPI * PWSX_ICASTACKIOCONTROL)(PVOID, HANDLE, HANDLE, ULONG, PVOID, ULONG, PVOID, ULONG, PULONG);
  69. typedef NTSTATUS (WINAPI * PWSX_INITIALIZECLIENTDATA)(PVOID, HANDLE, HANDLE, HANDLE,
  70. BYTE *, ULONG, PUSERCONFIG,
  71. PUSHORT, PUSHORT, PUSHORT,
  72. WINSTATIONDOCONNECTMSG *);
  73. typedef NTSTATUS (WINAPI * PWSX_INITIALIZEUSERCONFIG)(PVOID, HANDLE, HANDLE, PUSERCONFIG,
  74. PUSHORT, PUSHORT, PUSHORT);
  75. typedef NTSTATUS (WINAPI * PWSX_CONVERTPUBLISHEDAPP)(PVOID, PUSERCONFIG);
  76. typedef NTSTATUS (WINAPI * PWSX_CHECKFORAPPLICATIONNAME)(PVOID, PWCHAR, ULONG, PWCHAR, ULONG,
  77. PWCHAR, PULONG, ULONG, PCHAR, PBOOLEAN, PBOOLEAN );
  78. typedef NTSTATUS (WINAPI * PWSX_GETAPPLICATIONINFO)(PVOID, PBOOLEAN, PBOOLEAN);
  79. typedef NTSTATUS (WINAPI * PWSX_BROKENCONNECTION)(PVOID, HANDLE, PICA_BROKEN_CONNECTION);
  80. typedef NTSTATUS (WINAPI * PWSX_LOGONNOTIFY)(PVOID, ULONG, HANDLE, PWCHAR, PWCHAR);
  81. typedef NTSTATUS (WINAPI * PWSX_SETERRORINFO)(PVOID, UINT32, BOOL);
  82. typedef NTSTATUS (WINAPI * PWSX_SENDAUTORECONNECTSTATUS)(PVOID, UINT32, BOOL);
  83. // added for long UserName, Password support
  84. typedef NTSTATUS (WINAPI * PWSX_ESCAPE) (PVOID, INFO_TYPE, PVOID, ULONG, PVOID, ULONG, PULONG);