Sdílet prostřednictvím


IVsCfgProvider.GetCfgs – metoda (UInt32, IVsCfg[], UInt32[], UInt32 )

 

Vrátí-konfigurační objekty pro tento objekt.

Obor názvů:   Microsoft.VisualStudio.Shell.Interop
Sestavení:  Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)

Syntaxe

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
    [v] Počet objektů konfigurace vrácena nebo nulu, uvede žádost o neznámý počet objektů.
  • rgpcfg
    [v, ven, size_is(celt)] Na vstupu, ukazatele na matici rozhraní nebo null.Na výstupu tento parametr odkazuje na pole IVsCfg rozhraními náležejícími konfigurace požadované objekty.
  • pcActual
    [výstup, volitelné] Ukazatel na počet objektů konfigurace vrácena nebo null, pokud tato informace není nutné.
  • prgfFlags
    [výstup, volitelné] Příznaky, které určují nastavení pro projekt konfigurace nebo null Pokud nejsou požadována žádná další příznak nastavení.Pro platné prgrFlags hodnoty, viz__VSCFGFLAGS

Vrácená hodnota

Type: System.Int32

Pokud metoda uspěje, vrací S_OK.Pokud se nezdaří, vrátí kód chyby.

Poznámky

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

Pokud pcActual parametr je platnou adresu a celt parametr nastaven na nulu, počet objektů konfigurace je vrácena v pcActual.Počet vrácených objektů je nižší než hodnota celt.Pokud je celkový počet objektů konfigurace je menší než hodnota celt, pak jsou vráceny všechny objekty konfigurace.Pokud je větší než celkový počet objektů celt, počet vrácených objektů je omezena na celt a *pcActual je nastavena na celt na výstupu.

Pokud celt je nenulová, rgpcfg nesmí být null nebo E_POINTER je vrácena.

Obvykle volání GetCfgs takto.Volající určuje počet objektů 0 a null pro pole ukazatel rozhraní.GetCfgsVrátí počet objektů konfigurace v obsahu pcActual, informace, které lze volajícího přidělit místo pro pole rozhraní.Druhé volání GetCfgs je provedena s nastavit počet objektů a pole ukazatel na platnou adresu.Následující ukázka kódu demonstruje toto pořadí volání:

hr = pIVsCfgProvider->GetCfgs(0, null, &cExpected, null);

prgpcfgs = ::CoTaskMemAlloc(cExpected * sizeof(IVsCfg *));

hr = pIVsCfgProvider->GetCfgs(cExpected, prgpcfgs, &cActual, null);

Příklady

Extrémně společný vzorek je něco jako následující (vynechání kontroly chyb pro čitelnost):

hr = pIVsCfgProvider->GetCfgs(0, null, &cExpected, null);

prgpcfgs = ::CoTaskMemAlloc(cExpected * sizeof(IVsCfg *));

hr = pIVsCfgProvider->GetCfgs(cExpected, prgpcfgs, &cActual, NULL);

Viz také

IVsCfgProvider – rozhraní
Microsoft.VisualStudio.Shell.Interop – obor názvů

Zpátky na začátek