IVsSolutionBuildManager2.GetProjectDependencies 方法

定义

返回给定层次结构依赖的项目的列表。

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]指向项目数的指针。

返回

Int32

如果该方法成功,则它会返回 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);

适用于