Windows NT 4.0 source code leak
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.

82 lines
2.2 KiB

4 years ago
  1. /*==========================================================================
  2. *
  3. * Copyright (C) 1995 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: ddhelp.c
  6. * Content: helper app to cleanup after dead processes
  7. * History:
  8. * Date By Reason
  9. * ==== == ======
  10. * 29-mar-95 craige initial implementation
  11. * 09-may-95 craige call fn in dll
  12. * 20-jul-95 craige internal reorg to prevent thunking during modeset
  13. * 29-nov-95 angusm added DDHELPREQ_CREATEDSFOCUSTHREAD
  14. *
  15. ***************************************************************************/
  16. #ifndef __DDHELP_INCLUDED__
  17. #define __DDHELP_INCLUDED__
  18. /*
  19. * named objects
  20. */
  21. #define DDHELP_EVENT_NAME "__DDHelpEvent__"
  22. #define DDHELP_ACK_EVENT_NAME "__DDHelpAckEvent__"
  23. #define DDHELP_STARTUP_EVENT_NAME "__DDHelpStartupEvent__"
  24. #define DDHELP_SHARED_NAME "__DDHelpShared__"
  25. #define DDHELP_MUTEX_NAME "__DDHelpMutex__"
  26. #define DDHELP_MODESET_EVENT_NAME "__DDHelpModeSetEvent%d__"
  27. /*
  28. * requests
  29. */
  30. #define DDHELPREQ_NEWPID 1
  31. #define DDHELPREQ_NEWDC 2
  32. #define DDHELPREQ_FREEDCLIST 3
  33. #define DDHELPREQ_RETURNHELPERPID 4
  34. #define DDHELPREQ_LOADDLL 5
  35. #define DDHELPREQ_FREEDLL 6
  36. #define DDHELPREQ_SUICIDE 7
  37. #define DDHELPREQ_KILLATTACHED 8
  38. #define DDHELPREQ_WAVEOPEN 9
  39. #define DDHELPREQ_WAVECLOSE 10
  40. #define DDHELPREQ_CREATETIMER 11
  41. #define DDHELPREQ_KILLTIMER 12
  42. #define DDHELPREQ_CREATEHELPERTHREAD 13
  43. #define DDHELPREQ_CREATEMODESETTHREAD 14
  44. #define DDHELPREQ_KILLMODESETTHREAD 15
  45. #define DDHELPREQ_CREATEDSMIXERTHREAD 16
  46. #define DDHELPREQ_CALLDSCLEANUP 17
  47. #define DDHELPREQ_CREATEDSFOCUSTHREAD 18
  48. /*
  49. * callback routine
  50. */
  51. typedef BOOL (FAR PASCAL *LPHELPNOTIFYPROC)(struct DDHELPDATA *);
  52. typedef BOOL (FAR PASCAL *LPHELPMODESETNOTIFYPROC)( LPVOID lpDD );
  53. typedef void (FAR PASCAL *LPDSCLEANUP)(LPVOID pds);
  54. /*
  55. * communication data
  56. */
  57. typedef struct DDHELPDATA
  58. {
  59. int req;
  60. HANDLE req_id;
  61. DWORD pid;
  62. BOOL isdisp;
  63. union
  64. {
  65. LPHELPNOTIFYPROC lpNotify;
  66. LPHELPMODESETNOTIFYPROC lpModeSetNotify;
  67. };
  68. DWORD context;
  69. char fname[260];
  70. char func[64];
  71. DWORD dwData1;
  72. DWORD dwData2;
  73. LPVOID pData1;
  74. LPVOID pData2;
  75. DWORD dwReturn;
  76. } DDHELPDATA, *LPDDHELPDATA;
  77. #endif