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.
153 lines
3.4 KiB
153 lines
3.4 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 2001 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// NamedCookie.cpp
|
|
//
|
|
// Description:
|
|
// This file contains the definition of the SNamedCookie struct.
|
|
//
|
|
// Maintained By:
|
|
// John Franco (jfranco) 23-AUG-2001
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Include Files
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "Pch.h"
|
|
#include "NamedCookie.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Constant Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
DEFINE_THISCLASS( "SNamedCookie" );
|
|
|
|
|
|
//*************************************************************************//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// SNamedCookie struct
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// SNamedCookie::SNamedCookie
|
|
//
|
|
// Description:
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Values:
|
|
// None.
|
|
//
|
|
// Remarks:
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
SNamedCookie::SNamedCookie():
|
|
bstrName( NULL )
|
|
, ocObject( 0 )
|
|
, punkObject( NULL )
|
|
{
|
|
TraceFunc( "" );
|
|
TraceFuncExit();
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// SNamedCookie::~SNamedCookie
|
|
//
|
|
// Description:
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Values:
|
|
// None.
|
|
//
|
|
// Remarks:
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
SNamedCookie::~SNamedCookie()
|
|
{
|
|
TraceFunc( "" );
|
|
Erase();
|
|
TraceFuncExit();
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// SNamedCookie::HrAssign
|
|
//
|
|
// Description:
|
|
//
|
|
// Arguments:
|
|
// crSourceIn
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// E_OUTOFMEMORY
|
|
//
|
|
// Remarks:
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
HRESULT SNamedCookie::HrAssign( const SNamedCookie& crSourceIn )
|
|
{
|
|
TraceFunc( "" );
|
|
|
|
HRESULT hr = S_OK;
|
|
if ( this != &crSourceIn )
|
|
{
|
|
BSTR bstrNameCache = NULL;
|
|
|
|
if ( crSourceIn.bstrName != NULL )
|
|
{
|
|
bstrNameCache = TraceSysAllocString( crSourceIn.bstrName );
|
|
if ( bstrNameCache == NULL )
|
|
{
|
|
hr = E_OUTOFMEMORY;
|
|
goto Cleanup;
|
|
}
|
|
}
|
|
|
|
if ( bstrName != NULL )
|
|
{
|
|
TraceSysFreeString( bstrName );
|
|
}
|
|
bstrName = bstrNameCache;
|
|
bstrNameCache = NULL;
|
|
|
|
if ( punkObject != NULL )
|
|
{
|
|
punkObject->Release();
|
|
}
|
|
punkObject = crSourceIn.punkObject;
|
|
if ( punkObject != NULL )
|
|
{
|
|
punkObject->AddRef();
|
|
}
|
|
|
|
ocObject = crSourceIn.ocObject;
|
|
|
|
Cleanup:
|
|
|
|
TraceSysFreeString( bstrNameCache );
|
|
}
|
|
|
|
HRETURN( hr );
|
|
|
|
} //*** SNamedCookie::HrAssign
|
|
|
|
|