IVsSolutionBuildManager2.GetProjectDependencies 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回给定层次结构依赖的项目的列表。
int GetProjectDependencies(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const & pHier, unsigned int celt, std::Array <Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const &> const & rgpHier, std::Array <unsigned int> const & pcActual);
public int GetProjectDependencies (Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHier, uint celt, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy[] rgpHier, uint[] pcActual);
abstract member GetProjectDependencies : Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy[] * uint32[] -> int
Public Function GetProjectDependencies (pHier As IVsHierarchy, celt As UInteger, rgpHier As IVsHierarchy(), Optional pcActual As UInteger()) As Integer
参数
- pHier
- IVsHierarchy
中指向对象的指针 IVsHierarchy 。
- celt
- UInt32
中指定 celt 。
- rgpHier
- IVsHierarchy[]
[in,out]指定要生成的项目。
- pcActual
- UInt32[]
[out,optional]指向项目数的指针。
返回
如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。
实现
注解
COM 签名
从 vsshell:
HRESULT IVsSolutionBuildManager2::GetProjectDependencies(
[in] IVsHierarchy *pHier,
[in] ULONG celt,
[in, out, size_is(celt)] IVsHierarchy *rgpHier[],
[out, optional] ULONG *pcActual
);
返回给定层次结构依赖的项目的列表。
CalculateProjectDependencies GetProjectDependencies 如果你不确定在调用点上依赖项是否是最新的,则应在调用之前调用。 CalculateProjectDependencies 将强制重新计算项目依赖项。
此方法应在第一次使用 celt = 0 和时调用, rgpHier = null 以便在中获得大小 pcActual ,然后在分配列表以获取项目之后再次调用。
此方法将按如下方式实现 () 省略错误检查:
ULONG ulActual;
hr = pIVsSolutionBuildManager2->GetProjectDependencies(pHier, 0, NULL, &ulActual)
// allocate memory to hold the hierarchy pointers
IVsHierarchy** rgpIVsHierarchy = (IVsHierarchy**) ::CoTaskMemAlloc(ulActual * sizeof(IVsHierarchy *));
memset(rgpIVsHierarchy, 0, sizeof(IVsHierarchy*)*ulActual);
// now get the hierarchy pointers
ULONG ulActual2;
hr = pIVsSolutionBuildManager2->GetProjectDependencies(pHier, ulActual, rgpIVsHierarchy, &ulActual2);
// use the pointers here
// release the hier pointers
// release the memory
::CoTaskMemFree(rgpIVsHierarchy);