Metoda IVsSolutionBuildManager.GetProjectDependencies — (IVsHierarchy, UInt32, IVsHierarchy[], UInt32 )
Zwraca listę projektów, do których zależy od danej hierarchii.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
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
Parametry
pHier
Type: Microsoft.VisualStudio.Shell.Interop.IVsHierarchy[in] Wskaźnik do IVsHierarchy obiektu.
celt
Type: System.UInt32[in] Określa celt.
rgpHier
Type: Microsoft.VisualStudio.Shell.Interop.IVsHierarchy[][out w] Określa projekty do skompilowania.
pcActual
Type: System.UInt32[][out, opcjonalny] Wskaźnik do liczby projektów.
Wartość zwracana
Type: System.Int32
Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.
Uwagi
Podpis COM
Z vsshell.idl:
HRESULT IVsSolutionBuildManager::GetProjectDependencies(
[in] IVsHierarchy *pHier,
[in] ULONG celt,
[in, out, size_is(celt)] IVsHierarchy *rgpHier[],
[out, optional] ULONG *pcActual
);
Zwraca listę projektów, do których zależy od danej hierarchii.
Należy wywołać CalculateProjectDependencies przed wywołaniem GetProjectDependencies Jeśli nie wiesz, czy zależności są aktualne w momencie wywołania.CalculateProjectDependencies wymusi zależności projektu do ponownego obliczenia.
Ta metoda powinna być wywoływana dwukrotnie pierwszy czasu z celt = 0 i rgpHier = null, aby uzyskać rozmiar pcActual, następnie po raz drugi po przydzieleniu na liście, aby pobrać projektów.
Metoda będzie realizowane w następujący sposób (błąd, który sprawdza, czy w przypadku pominięcia):
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);
Zobacz też
Interfejs IVsSolutionBuildManager
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku