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.
 
 
 
 
 
 

55 lines
1.4 KiB

/*++
Copyright (C) 1996-2001 Microsoft Corporation
Module Name:
A51Exp.h
Abstract:
Exports the repository into a interchange format that can easily be re-imported.
History:
08-Dec-2000 paulall Created.
--*/
#define A51_EXPORT_FILE_START_TAG "a51exp1"
#define A51_EXPORT_NAMESPACE_TAG 0x00000001
#define A51_EXPORT_CLASS_TAG 0x00000002
#define A51_EXPORT_INST_TAG 0x00000003
#define A51_EXPORT_CLASS_END_TAG 0x00000005
#define A51_EXPORT_NAMESPACE_END_TAG 0x00000006
#define A51_EXPORT_FILE_END_TAG DWORD(-1)
class CLifeControl;
class A51Export
{
private:
HANDLE m_hFile;
CRepository *m_pRepository;
CLifeControl* m_pControl;
protected:
HRESULT ExportHeader();
HRESULT ExportNamespace(const wchar_t *wszNamespace);
HRESULT ExportClass(CNamespaceHandle *pNs, const wchar_t *wszClassName, _IWmiObject *pClass);
HRESULT ExportInstance(_IWmiObject *pInstance);
HRESULT ExportChildNamespaces(CNamespaceHandle *pNs, const wchar_t *wszNamespace);
HRESULT ExportChildClasses(CNamespaceHandle *pNs, const wchar_t *wszClassName);
HRESULT ExportClassInstances(CNamespaceHandle *pNs, const wchar_t *wszClassName);
HRESULT WriteBufferWithLength(DWORD dwBufferSize, void *pBuffer);
HRESULT WriteObjectType(DWORD dwTag);
HRESULT WriteObjectBlob(_IWmiObject *pObject);
public:
HRESULT Export(const wchar_t *wszFilename, DWORD dwFlags, CRepository *pRepository);
A51Export(CLifeControl* pControl);
~A51Export();
};