|
|
/*++
Copyright (c) 1998-1999 Microsoft Corporation
Module Name:
SaveSchema.h
Abstract:
Header for the helper functions that are used to determine if a schema compilation is needed.
Author:
Varsha Jayasimha (varshaj) 30-Nov-1999
Revision History:
--*/
typedef struct _DELIMITEDSTRING { LPWSTR pwszStringStart; LPWSTR pwszStringEnd;
} DELIMITEDSTRING;
extern HRESULT SaveSchemaIfNeeded(LPCWSTR i_wszTempFile, PSECURITY_ATTRIBUTES i_pSecurityAtrributes);
extern HRESULT SaveSchema(LPCWSTR i_wszTempFile, PSECURITY_ATTRIBUTES i_pSecurityAtrributes);
extern HRESULT CreateNonIISConfigObjectCollections(CMDBaseObject* i_pObjSchema, CWriter* i_pCWriter, CMBSchemaWriter** io_pSchemaWriter);
extern HRESULT ParseAndAddPropertiesToNonIISConfigObjectCollection(LPCWSTR i_wszProperties, BOOL i_bManditory, CMBCollectionWriter* i_pCollectionWriter);
extern HRESULT CreateIISConfigObjectCollection(CMDBaseObject* i_pObjProperties, CWriter* i_pCWriter, CMBSchemaWriter** io_pSchemaWriter);
extern HRESULT SaveNames(CMDBaseObject* i_pObjProperties, CWriter* i_pCWriter, CMBSchemaWriter** i_pSchemaWriter, CMBCollectionWriter** i_pCollectionWriter);
extern HRESULT SaveTypes(CMDBaseObject* i_pObjProperties, CWriter* i_pCWriter, CMBSchemaWriter** i_pSchemaWriter, CMBCollectionWriter** i_pCollectionWriter);
extern HRESULT SaveDefaults(CMDBaseObject* i_pObjProperties, CWriter* i_pCWriter, CMBSchemaWriter** i_pSchemaWriter, CMBCollectionWriter** i_pCollectionWriter);
extern BOOL PropertyNotInShippedSchema(CWriter* i_pCWriter, DWORD i_dwIdentifier);
extern BOOL TagNotInShippedSchema(CWriter* i_pCWriter, DWORD i_dwIdentifier);
extern HRESULT GetCollectionWriter(CWriter* i_pCWriter, CMBSchemaWriter** io_pSchemaWriter, CMBCollectionWriter** io_pCollectionWriter, LPCWSTR i_wszCollectionName, BOOL i_bContainer, LPCWSTR i_wszContainerClassList);
extern BOOL ClassDiffersFromShippedSchema(LPCWSTR i_wszClassName, BOOL i_bIsContainer, LPWSTR i_wszContainedClassList);
extern BOOL MatchClass(BOOL i_bIsContainer, LPWSTR i_wszContainedClassList, LPVOID* i_apv);
extern BOOL MatchCommaDelimitedStrings(LPWSTR i_wszString1, LPWSTR i_wszString2);
extern HRESULT CommaDelimitedStringToArray(LPWSTR i_wszString, DELIMITEDSTRING** io_apDelimitedString, ULONG* io_piDelimitedString, ULONG* io_pcMaxDelimitedString, BOOL* io_pbReAlloced);
extern HRESULT AddDelimitedStringToArray(DELIMITEDSTRING* i_pDelimitedString, ULONG* io_piDelimitedString, ULONG* io_pcMaxDelimitedString, BOOL* io_pbReAlloced, DELIMITEDSTRING** io_apDelimitedString);
extern HRESULT ReAllocate(ULONG i_iDelimitedString, BOOL i_bReAlloced, DELIMITEDSTRING** io_apDelimitedString, ULONG* io_pcDelimitedString);
extern BOOL MatchDelimitedStringArray(DELIMITEDSTRING* i_aString1, ULONG i_cString1, DELIMITEDSTRING* i_aString2, ULONG i_cString2);
extern BOOL ClassPropertiesDifferFromShippedSchema(LPCWSTR i_wszClassName, LPWSTR i_wszOptProperties, LPWSTR i_wszMandProperties);
extern HRESULT GetGlobalHelper(BOOL i_bFailIfBinFileAbsent, CWriterGlobalHelper** ppCWriterGlobalHelper);
extern HRESULT UpdateTimeStamp(LPWSTR i_wszSchemaXMLFileName, LPWSTR i_wszSchemaBinFileName);
|