66 lines
1.2 KiB
C++
66 lines
1.2 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
pendingassembly.cpp
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Sources for the CPendingAssembly class
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Michael J. Grier (MGrier) 23-Feb-2000
|
||
|
|
||
|
Revision History:
|
||
|
xiaoyuw 09/2000 replace attributes with assembly identity
|
||
|
--*/
|
||
|
|
||
|
#include "stdinc.h"
|
||
|
#include "pendingassembly.h"
|
||
|
|
||
|
CPendingAssembly::CPendingAssembly() :
|
||
|
m_SourceAssembly(NULL),
|
||
|
m_Identity(NULL),
|
||
|
m_Optional(false),
|
||
|
m_MetadataSatellite(false)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
CPendingAssembly::~CPendingAssembly()
|
||
|
{
|
||
|
if (m_Identity != NULL)
|
||
|
{
|
||
|
::SxsDestroyAssemblyIdentity(m_Identity);
|
||
|
m_Identity = NULL;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
BOOL
|
||
|
CPendingAssembly::Initialize(
|
||
|
PASSEMBLY Assembly,
|
||
|
PCASSEMBLY_IDENTITY Identity,
|
||
|
bool Optional,
|
||
|
bool MetadataSatellite
|
||
|
)
|
||
|
{
|
||
|
BOOL fSuccess = FALSE;
|
||
|
FN_TRACE_WIN32(fSuccess);
|
||
|
|
||
|
INTERNAL_ERROR_CHECK(m_Identity == NULL);
|
||
|
|
||
|
PARAMETER_CHECK(Identity != NULL);
|
||
|
|
||
|
IFW32FALSE_EXIT(::SxsDuplicateAssemblyIdentity(0, Identity, &m_Identity));
|
||
|
m_SourceAssembly = Assembly;
|
||
|
m_Optional = Optional;
|
||
|
m_MetadataSatellite = MetadataSatellite;
|
||
|
|
||
|
fSuccess = TRUE;
|
||
|
Exit:
|
||
|
return fSuccess;
|
||
|
}
|
||
|
|