Compartilhar via


Método IVsSolutionBuildManager.GetProjectDependencies (IVsHierarchy, UInt32, IVsHierarchy[], UInt32 )

 

Publicado: abril de 2016

Retorna uma lista de projetos da hierarquia determinada depende.

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

  • celt
    [in] Especifica celt.
  • rgpHier
    [in, out] Especifica os projetos para criar.
  • pcActual
    [out, opcional] Ponteiro para o número de projetos.

Valor de retorno

Type: System.Int32

Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.

Comentários

COM assinatura

De vsshell.idl:

HRESULT IVsSolutionBuildManager::GetProjectDependencies(
   [in] IVsHierarchy *pHier,
   [in] ULONG celt,
   [in, out, size_is(celt)] IVsHierarchy *rgpHier[],
   [out, optional] ULONG *pcActual
);

Retorna uma lista de projetos da hierarquia determinada depende.

Você deve chamar CalculateProjectDependencies antes GetProjectDependencies se você não tiver certeza se as dependências são atualizadas no momento da chamada.CalculateProjectDependenciesforçar dependências do projeto seja recalculado.

Este método deve ser chamado duas vezes, a primeira hora com celt = 0 e rgpHier = null, para obter o tamanho pcActual, em seguida, uma segunda vez depois de alocar a lista para obter os projetos.

O método será implementado da seguinte forma (erro de verificações são omitidas):

ULONG ulActual;

hr = pIVsSolutionBuildManager->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 = pIVsSolutionBuildManager->GetProjectDependencies(pHier, ulActual, rgpIVsHierarchy, &ulActual2);

// use the pointers here

// release the hier pointers

// release the memory

::CoTaskMemFree(rgpIVsHierarchy);

Consulte também

Interface IVsSolutionBuildManager
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo