Udostępnij za pośrednictwem


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