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.
|
|
///////////////////////////////////////////////////////////////////////////
//
// Copyright(C) 1998-1999 Microsoft Corporation all rights reserved.
//
// Module: propbagfactory.cpp
//
// Project: Chameleon
//
// Description: Property bag factory implementation
//
// Author: TLP
//
// When Who What
// ---- --- ----
// 12/3/98 TLP Original version
//
///////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "propertybagfactory.h"
#include "regpropertybag.h"
DWORD MPPROPERTYBAG::m_dwInstances = 0; DWORD MPREGPROPERTYBAG::m_dwInstances = 0;
//////////////////////////////////////////////////////////////////////////////
PPROPERTYBAG MakePropertyBag( /*[in]*/ PROPERTY_BAG_TYPE eType, /*[in]*/ CLocationInfo& locationInfo ) { if ( eType == PROPERTY_BAG_REGISTRY ) { // Create a new property bag and give it to the
// master pointer (which will then take ownership of it).
CRegPropertyBag* pBag = new CRegPropertyBag(locationInfo); if ( pBag != NULL ) { MPPROPERTYBAG* mp = (MPPROPERTYBAG*) new MPREGPROPERTYBAG(pBag); return PPROPERTYBAG(mp); } } // Caller should always invoke CHandle<T>.IsValid() to determine
// if the "pointer" is valid. Analgous to checking return from new for NULL
return PPROPERTYBAG(); }
DWORD MPPROPERTYBAGCONTAINER::m_dwInstances = 0; DWORD MPREGPROPERTYBAGCONTAINER::m_dwInstances = 0;
//////////////////////////////////////////////////////////////////////////////
PPROPERTYBAGCONTAINER MakePropertyBagContainer( /*[in]*/ PROPERTY_BAG_TYPE eType, /*[in]*/ CLocationInfo& locationInfo ) { if ( eType == PROPERTY_BAG_REGISTRY ) { // Create a new property bag container and give it to the
// master pointer (which will then take ownership of it)
CRegPropertyBagContainer* pBagContainer = new CRegPropertyBagContainer(locationInfo); if ( pBagContainer != NULL ) { MPPROPERTYBAGCONTAINER* mp = (MPPROPERTYBAGCONTAINER*) new MPREGPROPERTYBAGCONTAINER(pBagContainer); return PPROPERTYBAGCONTAINER(mp); } } // Caller should always invoke CHandle<T>.IsValid() to determine
// if the "pointer" is valid. Analogous to checking return from new for NULL
return PPROPERTYBAGCONTAINER(); }
|