Método IVsSolutionBuildManager2.GetProjectDependencies (IVsHierarchy, UInt32, IVsHierarchy[], UInt32 )
Publicado: abril de 2016
Retorna uma lista de projetos que depende de determinada hierarquia.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int GetProjectDependencies(
IVsHierarchy pHier,
uint celt,
IVsHierarchy[] rgpHier,
uint[] pcActual
)
int GetProjectDependencies(
IVsHierarchy^ pHier,
unsigned int celt,
array<IVsHierarchy^>^ rgpHier,
array<unsigned int>^ pcActual
)
abstract GetProjectDependencies :
pHier:IVsHierarchy *
celt:uint32 *
rgpHier:IVsHierarchy[] *
pcActual:uint32[] -> int
Function GetProjectDependencies (
pHier As IVsHierarchy,
celt As UInteger,
rgpHier As IVsHierarchy(),
pcActual As UInteger()
) As Integer
Parâmetros
pHier
Type: Microsoft.VisualStudio.Shell.Interop.IVsHierarchy[in] Ponteiro para uma IVsHierarchy objeto.
celt
Type: System.UInt32[in] Especifica celt.
rgpHier
Type: Microsoft.VisualStudio.Shell.Interop.IVsHierarchy[][no, out] Especifica os projetos que serão compilados.
pcActual
Type: System.UInt32[][out, opcional] Ponteiro para o número de projetos.
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retornará S_OK. Se ele falhar, ele retorna um código de erro.
Implementações
IVsSolutionBuildManager.GetProjectDependencies(IVsHierarchy, UInt32, IVsHierarchy[], UInt32[])
Comentários
COM assinatura
De vsshell.idl:
HRESULT IVsSolutionBuildManager2::GetProjectDependencies(
[in] IVsHierarchy *pHier,
[in] ULONG celt,
[in, out, size_is(celt)] IVsHierarchy *rgpHier[],
[out, optional] ULONG *pcActual
);
Retorna uma lista de projetos que depende de determinada hierarquia.
Você deve chamar CalculateProjectDependencies antes de chamar GetProjectDependencies se você não tiver certeza se as dependências são atualizadas no ponto de chamada.CalculateProjectDependencies forçar as dependências do projeto ser recalculadas.
Esse método deve ser chamado duas vezes, a primeira hora com celt = 0 e rgpHier = null, para obter o tamanho em pcActual, em seguida, uma segunda vez depois de alocar a lista para obter os projetos.
O método será implementado da seguinte maneira (erro verificações são omitidas):
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);
Consulte também
Interface IVsSolutionBuildManager2
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo