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.

142 lines
4.8 KiB

  1. /*++
  2. Copyright (c) 1998-1999 Microsoft Corporation
  3. Module Name:
  4. SaveSchema.h
  5. Abstract:
  6. Header for the helper functions that are used to determine
  7. if a schema compilation is needed.
  8. Author:
  9. Varsha Jayasimha (varshaj) 30-Nov-1999
  10. Revision History:
  11. --*/
  12. typedef struct _DELIMITEDSTRING
  13. {
  14. LPWSTR pwszStringStart;
  15. LPWSTR pwszStringEnd;
  16. } DELIMITEDSTRING;
  17. extern HRESULT
  18. SaveSchemaIfNeeded(LPCWSTR i_wszTempFile,
  19. PSECURITY_ATTRIBUTES i_pSecurityAtrributes);
  20. extern HRESULT
  21. SaveSchema(LPCWSTR i_wszTempFile,
  22. PSECURITY_ATTRIBUTES i_pSecurityAtrributes);
  23. extern HRESULT
  24. CreateNonIISConfigObjectCollections(CMDBaseObject* i_pObjSchema,
  25. CWriter* i_pCWriter,
  26. CMBSchemaWriter** io_pSchemaWriter);
  27. extern HRESULT
  28. ParseAndAddPropertiesToNonIISConfigObjectCollection(LPCWSTR i_wszProperties,
  29. BOOL i_bManditory,
  30. CMBCollectionWriter* i_pCollectionWriter);
  31. extern HRESULT
  32. CreateIISConfigObjectCollection(CMDBaseObject* i_pObjProperties,
  33. CWriter* i_pCWriter,
  34. CMBSchemaWriter** io_pSchemaWriter);
  35. extern HRESULT
  36. SaveNames(CMDBaseObject* i_pObjProperties,
  37. CWriter* i_pCWriter,
  38. CMBSchemaWriter** i_pSchemaWriter,
  39. CMBCollectionWriter** i_pCollectionWriter);
  40. extern HRESULT
  41. SaveTypes(CMDBaseObject* i_pObjProperties,
  42. CWriter* i_pCWriter,
  43. CMBSchemaWriter** i_pSchemaWriter,
  44. CMBCollectionWriter** i_pCollectionWriter);
  45. extern HRESULT
  46. SaveDefaults(CMDBaseObject* i_pObjProperties,
  47. CWriter* i_pCWriter,
  48. CMBSchemaWriter** i_pSchemaWriter,
  49. CMBCollectionWriter** i_pCollectionWriter);
  50. extern BOOL
  51. PropertyNotInShippedSchema(CWriter* i_pCWriter,
  52. DWORD i_dwIdentifier);
  53. extern BOOL
  54. TagNotInShippedSchema(CWriter* i_pCWriter,
  55. DWORD i_dwIdentifier);
  56. extern HRESULT
  57. GetCollectionWriter(CWriter* i_pCWriter,
  58. CMBSchemaWriter** io_pSchemaWriter,
  59. CMBCollectionWriter** io_pCollectionWriter,
  60. LPCWSTR i_wszCollectionName,
  61. BOOL i_bContainer,
  62. LPCWSTR i_wszContainerClassList);
  63. extern BOOL
  64. ClassDiffersFromShippedSchema(LPCWSTR i_wszClassName,
  65. BOOL i_bIsContainer,
  66. LPWSTR i_wszContainedClassList);
  67. extern BOOL
  68. MatchClass(BOOL i_bIsContainer,
  69. LPWSTR i_wszContainedClassList,
  70. LPVOID* i_apv);
  71. extern BOOL
  72. MatchCommaDelimitedStrings(LPWSTR i_wszString1,
  73. LPWSTR i_wszString2);
  74. extern HRESULT
  75. CommaDelimitedStringToArray(LPWSTR i_wszString,
  76. DELIMITEDSTRING** io_apDelimitedString,
  77. ULONG* io_piDelimitedString,
  78. ULONG* io_pcMaxDelimitedString,
  79. BOOL* io_pbReAlloced);
  80. extern HRESULT
  81. AddDelimitedStringToArray(DELIMITEDSTRING* i_pDelimitedString,
  82. ULONG* io_piDelimitedString,
  83. ULONG* io_pcMaxDelimitedString,
  84. BOOL* io_pbReAlloced,
  85. DELIMITEDSTRING** io_apDelimitedString);
  86. extern HRESULT
  87. ReAllocate(ULONG i_iDelimitedString,
  88. BOOL i_bReAlloced,
  89. DELIMITEDSTRING** io_apDelimitedString,
  90. ULONG* io_pcDelimitedString);
  91. extern BOOL
  92. MatchDelimitedStringArray(DELIMITEDSTRING* i_aString1,
  93. ULONG i_cString1,
  94. DELIMITEDSTRING* i_aString2,
  95. ULONG i_cString2);
  96. extern BOOL
  97. ClassPropertiesDifferFromShippedSchema(LPCWSTR i_wszClassName,
  98. LPWSTR i_wszOptProperties,
  99. LPWSTR i_wszMandProperties);
  100. extern HRESULT
  101. GetGlobalHelper(BOOL i_bFailIfBinFileAbsent,
  102. CWriterGlobalHelper** ppCWriterGlobalHelper);
  103. extern HRESULT
  104. UpdateTimeStamp(LPWSTR i_wszSchemaXMLFileName,
  105. LPWSTR i_wszSchemaBinFileName);