public GetCfgs ( uint celt, IVsCfg a, uint actual, uint flags ) : int | ||
celt | uint | Number of configuration objects to be returned or zero, indicating a request for an unknown number of objects. |
a | IVsCfg | On input, pointer to an interface array or a null reference. On output, this parameter points to an array of IVsCfg interfaces belonging to the requested configuration objects. |
actual | uint | The number of configuration objects actually returned or a null reference, if this information is not necessary. |
flags | uint | Flags that specify settings for project configurations, or a null reference (Nothing in Visual Basic) if no additional flag settings are required. For valid prgrFlags values, see __VSCFGFLAGS. |
리턴 | int |
public virtual int GetCfgs(uint celt, IVsCfg[] a, uint[] actual, uint[] flags)
{
if(flags != null)
flags[0] = 0;
int i = 0;
string[] configList = GetPropertiesConditionedOn(ProjectFileConstants.Configuration);
string[] platformList = GetPlatformsFromProject();
if (a != null)
{
foreach (string configName in configList)
{
foreach (string platform in platformList)
{
a[i] = this.GetProjectConfiguration(configName, platform);
i++;
if (i == celt)
break;
}
if (i == celt)
break;
}
}
else
{
i = configList.Length * platformList.Length;
}
if(actual != null)
actual[0] = (uint)i;
return VSConstants.S_OK;
}