Source code of Windows XP (NT5)
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.

93 lines
1.9 KiB

  1. //+--------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1998
  5. //
  6. // File: Scrpdata.h
  7. //
  8. // Contents:
  9. //
  10. // History: 9-Aug-99 NishadM Created
  11. //
  12. //---------------------------------------------------------------------------
  13. #ifndef _SCRPDATA_H_
  14. #define _SCRPDATA_H_
  15. //
  16. // GPO script and its parameters
  17. //
  18. typedef struct tag_RSOP_Script
  19. {
  20. LPWSTR szCommand; // full path to the script file
  21. LPWSTR szParams; // list of parameters
  22. SYSTEMTIME executionTime; // time of execution
  23. struct tag_RSOP_Script* pNextCommand; // next link in the chain
  24. } RSOP_Script, * PRSOP_Script;
  25. //
  26. // script types
  27. //
  28. typedef enum
  29. {
  30. Undefined = 0,
  31. Logon,
  32. Logoff,
  33. Startup,
  34. Shutdown
  35. } ScriptType;
  36. //
  37. // GPO scripts collection
  38. //
  39. typedef struct tag_RSOP_ScriptList
  40. {
  41. ScriptType type; // type of script
  42. ULONG nCommand; // number of scripts
  43. PRSOP_Script scriptCommand; // list of scripts
  44. PRSOP_Script listTail; //
  45. } RSOP_ScriptList, *PRSOP_ScriptList;
  46. //
  47. // ScriptType to Strings
  48. //
  49. extern LPCWSTR g_pwszScriptTypes[];
  50. #define ScriptTypeString(x) ( g_pwszScriptTypes[(ULONG)(x)] )
  51. //
  52. // Housekeeping internal APIs
  53. //
  54. PRSOP_ScriptList
  55. CreateScriptList( ScriptType type );
  56. ScriptType
  57. GetScriptType( PRSOP_ScriptList pList );
  58. void
  59. SetScriptType( PRSOP_ScriptList pList, ScriptType type );
  60. ULONG
  61. GetScriptCount( PRSOP_ScriptList pList );
  62. void
  63. GetFirstScript( PRSOP_ScriptList pList, void** pHandle, LPCWSTR* pszCommand, LPCWSTR* pszParams, SYSTEMTIME** pExecTime );
  64. void
  65. GetNextScript( PRSOP_ScriptList pList, void** pHandle, LPCWSTR* pszCommand, LPCWSTR* pszParams, SYSTEMTIME** pExecTime );
  66. //
  67. // exported APIs and definitions
  68. //
  69. #include "ScrptLog.h"
  70. #endif // _SCRPDATA_H_