Metoda IVsCfgProvider.GetCfgs — (UInt32, IVsCfg[], UInt32[], UInt32 )
Zwraca obiekty-konfiguracji dla tego obiektu.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
int GetCfgs(
uint celt,
IVsCfg[] rgpcfg,
uint[] pcActual,
uint[] prgfFlags
)
int GetCfgs(
unsigned int celt,
array<IVsCfg^>^ rgpcfg,
array<unsigned int>^ pcActual,
array<unsigned int>^ prgfFlags
)
abstract GetCfgs :
celt:uint32 *
rgpcfg:IVsCfg[] *
pcActual:uint32[] *
prgfFlags:uint32[] -> int
Function GetCfgs (
celt As UInteger,
rgpcfg As IVsCfg(),
pcActual As UInteger(),
prgfFlags As UInteger()
) As Integer
Parametry
celt
Type: System.UInt32[in] Liczba obiektów konfiguracji zwracaną lub zero, wskazujący żądania dla nieznanego liczby obiektów.
rgpcfg
Type: Microsoft.VisualStudio.Shell.Interop.IVsCfg[][w out, size_is(celt)] W danych wejściowych, wskaźnik do tablicy interfejs lub null. Produkcja, ten parametr wskazuje tablicę IVsCfg interfejsów należących do obiektów, żądana konfiguracja.
pcActual
Type: System.UInt32[][out, opcjonalny] Wskaźnik do liczby obiektów konfiguracji rzeczywistego zwrotu lub null, jeśli te informacje nie są konieczne.
prgfFlags
Type: System.UInt32[][out, opcjonalny] Flagi określające ustawienia konfiguracji projektu lub null Jeśli ustawienia dodatkowe flagi nie są wymagane. Aby uzyskać prawidłową prgrFlags wartości, zobacz __VSCFGFLAGS
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 IVsCfgProvider::GetCfgs(
[in] ULONG celt,
[in, out, size_is(celt)] IVsCfg *rgpcfg[],
[out, optional] ULONG *pcActual,
[out, optional] VSCFGFLAGS *prgfFlags
);
Jeśli pcActual parametr jest prawidłowy adres i celt parametr ma wartość zero, liczba obiektów konfiguracji jest zwracany w pcActual. Liczba zwróconych obiektów jest mniejsza niż wartość celt. Jeśli łączna liczba obiektów konfiguracji jest mniejsza niż wartość celt, a następnie zwracane są wszystkie obiekty konfiguracji. Jeśli jest większa niż całkowita liczba obiektów celt, liczba zwróconych obiektów jest ograniczona do celt i *pcActual jest ustawiona na celt w danych wyjściowych.
Jeśli celt jest różna od zera, rgpcfg nie może być null lub E_POINTER nie są zwracane.
Zazwyczaj wywołań do GetCfgs w następujący sposób. Określa obiekt wywołujący 0 dla liczba obiektów i null dla wskaźnika tablicy interfejsu.GetCfgs Zwraca liczbę obiektów konfiguracji zawartości pcActual, informacje, które mogą używane przez obiekt wywołujący do przydzielenia miejsca dla tablicy interfejsu. Drugie wywołanie GetCfgs odbywa się przy użyciu zestawu liczba obiektów i wskaźnika tablicy wskazującej na prawidłowy adres. Poniższy przykład kodu ilustruje tę sekwencję wywołań:
hr = pIVsCfgProvider->GetCfgs(0, null, &cExpected, null);
prgpcfgs = ::CoTaskMemAlloc(cExpected * sizeof(IVsCfg *));
hr = pIVsCfgProvider->GetCfgs(cExpected, prgpcfgs, &cActual, null);
Przykłady
Ekstremalnie częste wzorzec jest podobny do następujących (z pominięciem sprawdzanie błędów, aby zwiększyć czytelność):
hr = pIVsCfgProvider->GetCfgs(0, null, &cExpected, null);
prgpcfgs = ::CoTaskMemAlloc(cExpected * sizeof(IVsCfg *));
hr = pIVsCfgProvider->GetCfgs(cExpected, prgpcfgs, &cActual, NULL);
Zobacz też
Interfejs IVsCfgProvider
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku