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;
|
|
}
|
|
|