200 lines
6 KiB
C
200 lines
6 KiB
C
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Copyright(C) 1997-1998 Microsoft Corporation all rights reserved.
|
||
|
//
|
||
|
// Module: sdohelperfuncs.h
|
||
|
//
|
||
|
// Project: Everest
|
||
|
//
|
||
|
// Description: Helper Functions
|
||
|
//
|
||
|
// Log:
|
||
|
//
|
||
|
// When Who What
|
||
|
// ---- --- ----
|
||
|
// 6/08/98 TLP Initial Version
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#ifndef __INC_IAS_SDO_HELPER_FUNCS_H
|
||
|
#define __INC_IAS_SDO_HELPER_FUNCS_H
|
||
|
|
||
|
#include <ias.h>
|
||
|
#include <sdoiaspriv.h>
|
||
|
#include <winsock2.h>
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
// SDO HELPER FUNCTIONS
|
||
|
//
|
||
|
// TODO: Wrap these in a seperate name space
|
||
|
//
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// SDO Collection Helpers
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOGetCollectionEnumerator(
|
||
|
/*[in]*/ ISdo* pSdo,
|
||
|
/*[in]*/ LONG lPropertyId,
|
||
|
/*[out]*/ IEnumVARIANT** ppEnum
|
||
|
);
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDONextObjectFromCollection(
|
||
|
/*[in]*/ IEnumVARIANT* pEnum,
|
||
|
/*[out]*/ ISdo** ppSdo
|
||
|
);
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOGetComponentFromCollection(
|
||
|
/*[in]*/ ISdo* pSdoService,
|
||
|
/*[in]*/ LONG lCollectionPropertyId,
|
||
|
/*[in]*/ LONG lComponentId,
|
||
|
/*[out]*/ ISdo** ppSdo
|
||
|
);
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Core Helpers
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOConfigureComponentFromObject(
|
||
|
/*[in]*/ ISdo* pSdo,
|
||
|
/*[in]*/ IIasComponent* pComponent
|
||
|
);
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOGetComponentIdFromObject(
|
||
|
/*[in]*/ ISdo* pSdo,
|
||
|
/*[out]*/ PLONG pComponentId
|
||
|
);
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOCreateComponentFromObject(
|
||
|
/*[in]*/ ISdo* pSdo,
|
||
|
/*[out]*/ IIasComponent** ppComponent
|
||
|
);
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Data Store Helpers
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOGetContainedObject(
|
||
|
/*[in]*/ BSTR bstrObjectName,
|
||
|
/*[in]*/ IDataStoreObject* pDSObject,
|
||
|
/*[out]*/ IDataStoreObject** ppDSObject
|
||
|
);
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOGetContainerEnumerator(
|
||
|
/*[in]*/ IDataStoreObject* pDSObject,
|
||
|
/*[out]*/ IEnumVARIANT** ppObjectEnumerator
|
||
|
);
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDONextObjectFromContainer(
|
||
|
/*[in]*/ IEnumVARIANT* pEnumVariant,
|
||
|
/*[out]*/ IDataStoreObject** ppDSObject
|
||
|
);
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOGetObjectPropertyEnumerator(
|
||
|
/*[in]*/ IDataStoreObject* pDSObject,
|
||
|
/*[out]*/ IEnumVARIANT** ppPropertyEnumerator
|
||
|
);
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDONextPropertyFromObject(
|
||
|
/*[in]*/ IEnumVARIANT* pEnumVariant,
|
||
|
/*[out]*/ IDataStoreProperty** ppDSProperty
|
||
|
);
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Schema Helpers
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
typedef enum _CLASSPROPERTYSET
|
||
|
{
|
||
|
PROPERTY_SET_REQUIRED,
|
||
|
PROPERTY_SET_OPTIONAL
|
||
|
|
||
|
} CLASSPROPERTYSET;
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDOGetClassPropertyEnumerator(
|
||
|
/*[in]*/ CLASSPROPERTYSET ePropertySet,
|
||
|
/*[in]*/ ISdoClassInfo* pSdoClassInfo,
|
||
|
/*[out]*/ IEnumVARIANT** ppPropertyEnumerator
|
||
|
);
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SDONextPropertyFromClass(
|
||
|
/*[in]*/ IEnumVARIANT* pEnumVariant,
|
||
|
/*[out]*/ ISdoPropertyInfo** ppSdoPropertyInfo
|
||
|
);
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Misc Helpers
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
HRESULT SDOGetLogFileDirectory(
|
||
|
/*[in]*/ LPCWSTR lpszComputerName,
|
||
|
/*[in]*/ DWORD dwLogFileDirectorySize,
|
||
|
/*[out*/ PWCHAR pLogFileDirectory
|
||
|
);
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
BOOL SDOIsNameUnique(
|
||
|
/*[in]*/ ISdoCollection* pSdoCollection,
|
||
|
/*[in]*/ VARIANT* pName
|
||
|
);
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT ValidateDNSName(
|
||
|
/*[in]*/ VARIANT* pAddressValue
|
||
|
);
|
||
|
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
// Data Store Class to SDO Prog ID Map
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
typedef struct _CLASSTOPROGID
|
||
|
{
|
||
|
LPWSTR pDatastoreClass;
|
||
|
LPWSTR pSdoProgId;
|
||
|
|
||
|
} CLASSTOPROGID, *PCLASSTOPROGID;
|
||
|
|
||
|
|
||
|
#define BEGIN_CLASSTOPROGID_MAP(x) \
|
||
|
static CLASSTOPROGID x[] = {
|
||
|
|
||
|
#define DEFINE_CLASSTOPROGID_ENTRY(x,y) \
|
||
|
{ \
|
||
|
x, \
|
||
|
y \
|
||
|
},
|
||
|
|
||
|
#define END_CLASSTOPROGID_MAP() \
|
||
|
{ \
|
||
|
NULL, \
|
||
|
NULL \
|
||
|
} \
|
||
|
};
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
LPWSTR GetDataStoreClass(
|
||
|
/*[in]*/ LPCWSTR lpszSdoProgId
|
||
|
);
|
||
|
|
||
|
|
||
|
#endif // __INC_IAS_SDO_HELPER_FUNCS_H
|