in src/fc_activation_context.c [377:421]
HRESULT GetConfigurationPackage(FC_ACTIVATION_CONTEXT_HANDLE fc_activation_context_handle,
/* [in] */ LPCWSTR configPackageName,
/* [retval][out] */ IFabricConfigurationPackage** configPackage)
{
HRESULT result;
if (
(fc_activation_context_handle == NULL) ||
(configPackageName == NULL) ||
(configPackage == NULL)
)
{
LogError("invalid argument FC_ACTIVATION_CONTEXT_HANDLE fc_activation_context_handle=%p, LPCWSTR configPackageName=%ls, IFabricConfigurationPackage * *configPackage=%p",
fc_activation_context_handle,
MU_WP_OR_NULL(configPackageName),
configPackage);
result = E_INVALIDARG;
}
else
{
uint32_t i;
IFabricConfigurationPackage* fc_package = NULL;
for (i = 0; i < fc_activation_context_handle->nFabricConfigurationPackages; i++)
{
fc_package = fc_activation_context_handle->iFabricConfigurationPackages[i];
if (wcscmp(fc_package->lpVtbl->get_Description(fc_package)->Name, configPackageName) == 0)
{
break;
}
}
if (i == fc_activation_context_handle->nFabricConfigurationPackages)
{
LogError("could not find the package named %ls", configPackageName);
result = E_NOT_SET;
}
else
{
fc_package->lpVtbl->AddRef(fc_package);
*configPackage = fc_package;
result = S_OK;
}
}
return result;
}