IVsSolutionBuildManager.GetProjectDependencies(IVsHierarchy, UInt32, IVsHierarchy[], UInt32[]) Methode

Definition

Gibt eine Liste von Projekten zurück, auf denen die angegebene Hierarchie basiert.

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

Parameter

pHier
IVsHierarchy

[in] Zeiger auf ein IVsHierarchy-Objekt.

celt
UInt32

[in] Gibt celt an.

rgpHier
IVsHierarchy[]

[in, out] Gibt die zu erstellenden Projekte an.

pcActual
UInt32[]

[out, optional] Zeiger auf die Anzahl der Projekte.

Gibt zurück

Int32

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.

Hinweise

COM-Signatur

Aus vsshell. idl:

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

Gibt eine Liste von Projekten zurück, auf denen die angegebene Hierarchie basiert.

Sie sollten CalculateProjectDependencies vor dem Aufrufen von aufrufen, GetProjectDependencies Wenn Sie sich nicht sicher sind, ob die Abhängigkeiten zum Zeitpunkt des Aufrufs auf dem neuesten Stand sind. CalculateProjectDependencies erzwingt die Neuberechnung von Projekt Abhängigkeiten.

Diese Methode sollte zweimal aufgerufen werden, beim ersten Mal mit celt = 0 und rgpHier = null , um die Größe in zu erhalten pcActual , und dann ein zweites Mal nach der Zuordnung der Liste, um die Projekte zu erhalten.

Die-Methode wird wie folgt implementiert (Fehlerüberprüfungen werden ausgelassen):

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);

Gilt für