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