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
- pHier
[in] Ponteiro para uma IVsHierarchy objeto.
- 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