|
|
//---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995
//
// File: core.cxx
//
// Contents:
//
// History: 11-1-95 krishnag Created.
//
//----------------------------------------------------------------------------
#include "nds.hxx"
#pragma hdrstop
HRESULT CCoreADsObject::InitializeCoreObject( BSTR Parent, BSTR Name, BSTR ClassName, BSTR Schema, REFCLSID rclsid, DWORD dwObjectState ) { HRESULT hr = S_OK; ADsAssert(Parent); ADsAssert(Name); ADsAssert(ClassName);
hr = BuildADsPath( Parent, Name, &_ADsPath ); BAIL_ON_FAILURE(hr);
hr = BuildADsGuid( rclsid, &_ADsGuid ); BAIL_ON_FAILURE(hr);
hr = ADsAllocString( Parent, &_Parent); BAIL_ON_FAILURE(hr);
hr = ADsAllocString( Name, &_Name); BAIL_ON_FAILURE(hr);
hr = ADsAllocString( ClassName, &_ADsClass); BAIL_ON_FAILURE(hr);
hr = BuildSchemaPath( _ADsPath, ClassName, &_Schema ); BAIL_ON_FAILURE(hr);
_dwObjectState = dwObjectState;
error: RRETURN(hr);
}
CCoreADsObject::CCoreADsObject(): _Name(NULL), _ADsPath(NULL), _Parent(NULL), _ADsClass(NULL), _Schema(NULL), _ADsGuid(NULL), _dwObjectState(0) { }
CCoreADsObject::~CCoreADsObject() { if (_Name) { ADsFreeString(_Name); }
if (_ADsPath) { ADsFreeString(_ADsPath); }
if (_Parent) { ADsFreeString(_Parent); }
if (_ADsClass) { ADsFreeString(_ADsClass); }
if (_Schema) { ADsFreeString(_Schema); }
if (_ADsGuid) { ADsFreeString(_ADsGuid); }
}
HRESULT CCoreADsObject::get_CoreName(BSTR * retval) { HRESULT hr;
if (FAILED(hr = ValidateOutParameter(retval))){ RRETURN_EXP_IF_ERR(hr); }
hr = ADsAllocString(_Name, retval); RRETURN_EXP_IF_ERR(hr); }
HRESULT CCoreADsObject::get_CoreADsPath(BSTR * retval) { HRESULT hr;
if (FAILED(hr = ValidateOutParameter(retval))){ RRETURN_EXP_IF_ERR(hr); }
hr = ADsAllocString(_ADsPath, retval); RRETURN_EXP_IF_ERR(hr);
}
HRESULT CCoreADsObject::get_CoreADsClass(BSTR * retval) { HRESULT hr;
if (FAILED(hr = ValidateOutParameter(retval))){ RRETURN_EXP_IF_ERR(hr); }
hr = ADsAllocString(_ADsClass, retval); RRETURN_EXP_IF_ERR(hr); }
HRESULT CCoreADsObject::get_CoreParent(BSTR * retval) {
HRESULT hr;
if (FAILED(hr = ValidateOutParameter(retval))){ RRETURN_EXP_IF_ERR(hr); }
hr = ADsAllocString(_Parent, retval); RRETURN_EXP_IF_ERR(hr); }
HRESULT CCoreADsObject::get_CoreSchema(BSTR * retval) {
HRESULT hr;
if (FAILED(hr = ValidateOutParameter(retval))){ RRETURN_EXP_IF_ERR(hr); }
if ( _Schema == NULL || *_Schema == 0 ) RRETURN(E_ADS_PROPERTY_NOT_SUPPORTED);
hr = ADsAllocString(_Schema, retval); RRETURN_EXP_IF_ERR(hr); }
HRESULT CCoreADsObject::get_CoreGUID(BSTR * retval) { HRESULT hr;
if (FAILED(hr = ValidateOutParameter(retval))){ RRETURN_EXP_IF_ERR(hr); }
hr = ADsAllocString(_ADsGuid, retval); RRETURN_EXP_IF_ERR(hr); }
STDMETHODIMP CCoreADsObject::GetInfo( BOOL fExplicit ) { RRETURN_EXP_IF_ERR(E_NOTIMPL); }
|