本文整理汇总了C++中atl::CComPtr::DefineAssemblyRef方法的典型用法代码示例。如果您正苦于以下问题:C++ CComPtr::DefineAssemblyRef方法的具体用法?C++ CComPtr::DefineAssemblyRef怎么用?C++ CComPtr::DefineAssemblyRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类atl::CComPtr
的用法示例。
在下文中一共展示了CComPtr::DefineAssemblyRef方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DefineAssemblyMaxVersionRef
HRESULT InjectedType::DefineAssemblyMaxVersionRef(const ModuleID moduleId, LPCWSTR assemblyName, mdModuleRef* moduleRef) const
{
ATL::CComPtr<IMetaDataAssemblyEmit> metaDataAssemblyEmit;
GUARD_FAILURE_HRESULT(GetMetaDataAssemblyEmit(moduleId, metaDataAssemblyEmit));
AssemblyReference mscorlibReference;
if (!m_assemblyRegistry->FindMaxAssemblyVersion(assemblyName, mscorlibReference))
{
return E_FAIL;
}
ASSEMBLYMETADATA mscorlibMetadata;
ZeroMemory(&mscorlibMetadata, sizeof(mscorlibMetadata));
mscorlibMetadata.usMajorVersion = mscorlibReference.version.majorVersion;
mscorlibMetadata.usMinorVersion = mscorlibReference.version.minorVersion;
mscorlibMetadata.usBuildNumber = mscorlibReference.version.buildNumber;
mscorlibMetadata.usRevisionNumber = mscorlibReference.version.revisionNumber;
const auto name = mscorlibReference.name.c_str();
return metaDataAssemblyEmit->DefineAssemblyRef(mscorlibReference.publicKeyToken,
sizeof(mscorlibReference.publicKeyToken),
name,
&mscorlibMetadata,
nullptr,
0,
0,
moduleRef);
}