IVsSolutionBuildManager.GetProjectDependencies(IVsHierarchy, UInt32, IVsHierarchy[], UInt32[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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);