Método IVsCfgProvider.GetCfgs (UInt32, IVsCfg[], UInt32[], UInt32 )
Publicado: abril de 2016
Retorna os objetos por configuração para este objeto.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
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
Parâmetros
- celt
[in] Número de objetos de configuração a ser retornado ou igual a zero, indicando uma solicitação para um número desconhecido de objetos.
- rgpcfg
[in, out, size_is(celt)] Na entrada, ponteiro para uma matriz de interface ou null.Na saída, este parâmetro aponta para uma matriz de IVsCfg interfaces pertencentes aos objetos configuração solicitada.
- pcActual
[out, opcional] Ponteiro para o número de objetos de configuração realmente retornado ou null, se essa informação não é necessária.
- prgfFlags
[out, opcional] Sinalizadores que especificam as configurações para configurações de projeto, ou null se nenhuma configuração de sinalizador adicional é necessária.Para válido prgrFlags valores, consulte__VSCFGFLAGS
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
COM assinatura
De vsshell.idl:
HRESULT IVsCfgProvider::GetCfgs(
[in] ULONG celt,
[in, out, size_is(celt)] IVsCfg *rgpcfg[],
[out, optional] ULONG *pcActual,
[out, optional] VSCFGFLAGS *prgfFlags
);
Se a pcActual parâmetro é um endereço válido e o celt parâmetro for definido como zero, o número de objetos de configuração é retornado em pcActual.O número de objetos retornados é menor ou igual ao valor de celt.Se o número total de objetos de configuração é menor que o valor de celt, e em seguida, todos os objetos de configuração são retornados.Se o número total de objetos for maior que celt, o número de objetos retornados é limitado a celt e *pcActual for definido como celt na saída.
Se celt for diferente de zero, rgpcfg não deve ser null ou E_POINTER é retornado.
Normalmente, as chamadas são feitas a GetCfgs da seguinte maneira.O chamador especificar 0 para a contagem de objetos e null para o ponteiro de interface do array.GetCfgsRetorna o número de objetos de configuração no conteúdo do pcActual, informações que podem ser usadas pelo chamador para alocar espaço para a matriz de interface.Uma segunda chamada para GetCfgs é feita com o conjunto de contagem de objeto e o ponteiro de matriz, apontando para um endereço válido.O exemplo de código a seguir ilustra essa seqüência de chamada:
hr = pIVsCfgProvider->GetCfgs(0, null, &cExpected, null);
prgpcfgs = ::CoTaskMemAlloc(cExpected * sizeof(IVsCfg *));
hr = pIVsCfgProvider->GetCfgs(cExpected, prgpcfgs, &cActual, null);
Exemplos
Um padrão de extremamente comum é a seguinte aparência (omitindo verificações de erro para facilitar a leitura):
hr = pIVsCfgProvider->GetCfgs(0, null, &cExpected, null);
prgpcfgs = ::CoTaskMemAlloc(cExpected * sizeof(IVsCfg *));
hr = pIVsCfgProvider->GetCfgs(cExpected, prgpcfgs, &cActual, NULL);
Consulte também
Interface IVsCfgProvider
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo