IVsSolutionBuildManager.GetProjectDependencies(IVsHierarchy, UInt32, IVsHierarchy[], UInt32[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma lista de projetos dos quais a hierarquia específica depende.
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
Parâmetros
- pHier
- IVsHierarchy
no Ponteiro para um IVsHierarchy objeto.
- celt
- UInt32
no Especifica celt .
- rgpHier
- IVsHierarchy[]
[entrada, saída] Especifica os projetos a serem compilados.
- pcActual
- UInt32[]
[saída, opcional] Ponteiro para o número de projetos.
Retornos
Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.
Comentários
Assinatura COM
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 dos quais a hierarquia específica depende.
Você deve chamar CalculateProjectDependencies antes de chamar GetProjectDependencies se não tiver certeza se as dependências estão atualizadas no ponto da chamada. CalculateProjectDependencies forçará a recálculo das dependências do projeto.
Esse método deve ser chamado duas vezes, na primeira vez com celt = 0 e rgpHier = null , para obter o tamanho pcActual , uma segunda vez depois de alocar a lista para obter os projetos.
O método será implementado da seguinte maneira (as verificações de erro 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);